home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / C++-7 / DISK7 / SOURCE / STARTUP / MAKEFILE.DO$ / MAKEFILE
Encoding:
Text File  |  1992-01-30  |  4.4 KB  |  170 lines

  1. ###############################################################################
  2. #                                          #
  3. #    Copyright (c) 1986-1992, Microsoft Corporation.  All rights reserved. #
  4. #                                          #
  5. #    Makefile for building c runtime startup objects (DOS).              #
  6. #                                          #
  7. #    This makefile is invoked by CSTARTUP.<BAT,CMD>.               #
  8. #    See CSTARTUP.<BAT,CMD> for usage information.                  #
  9. #                                          #
  10. ###############################################################################
  11.  
  12. #
  13. # environment variable settings
  14. #
  15.  
  16. SRC=..\..
  17. INC=..\..
  18.  
  19. CFLAGS=-A$(MODEL) -I$(INC) -I$(CINC) -Oart -Gs  -c
  20. CL=cl $(CFLAGS)
  21.  
  22. ASMFLAGS= -Mx -Dmem_$(MODEL) -I$(INC)
  23. ASM=masm $(ASMFLAGS)
  24.  
  25. CMACROS=$(INC)\version.inc $(INC)\cmacros.inc
  26.  
  27. #
  28. # DOS objects
  29. #
  30.  
  31. dos:    \
  32.         crt0.obj \
  33.         crt0dat.obj \
  34.         crt0msg.obj \
  35.         fmsghdr.obj \
  36.         nmsghdr.obj \
  37.         chksum.obj \
  38.         stdargv.obj \
  39.         stdalloc.obj \
  40.         stdenvp.obj \
  41.         nchkstk.obj \
  42.         fchkstk.obj \
  43.         nrchkstk.obj \
  44.         frchkstk.obj \
  45.         _file.obj \
  46.         setargv.obj \
  47.         _setargv.obj \
  48.         wild.obj \
  49.         crt0fp.obj \
  50.         execmsg.obj \
  51.         nulbody.obj \
  52.     dosstart
  53.  
  54. #
  55. # .COM file (tiny model) support
  56. #
  57.  
  58. crtcom: crtcom.lib
  59.  
  60.  
  61. #
  62. # startup modules
  63. #
  64.  
  65. crt0.obj: $(SRC)\dos\crt0.asm $(CMACROS) $(INC)\msdos.inc \
  66.             $(INC)\heap.inc $(INC)\rterr.inc
  67.             $(ASM) $(SRC)\dos\crt0.asm,crt0.obj;
  68.  
  69. crt0dat.obj: $(SRC)\dos\crt0dat.asm $(CMACROS) $(INC)\msdos.inc
  70.             $(ASM) $(SRC)\dos\crt0dat.asm,crt0dat.obj;
  71.  
  72. crt0msg.obj: $(SRC)\dos\crt0msg.asm $(CMACROS) $(INC)\rterr.inc
  73.             $(ASM) $(SRC)\dos\crt0msg.asm,crt0msg.obj;
  74.  
  75. fmsghdr.obj:    $(SRC)\fmsghdr.asm $(CMACROS) $(INC)\msdos.inc
  76.         $(ASM) $(SRC)\fmsghdr.asm;
  77.  
  78. nmsghdr.obj: $(SRC)\dos\nmsghdr.asm $(CMACROS) $(INC)\msdos.inc
  79.             $(ASM) $(SRC)\dos\nmsghdr.asm,nmsghdr.obj;
  80.  
  81. chksum.obj:    $(SRC)\chksum.asm $(CMACROS) $(INC)\rterr.inc
  82.         $(ASM) $(SRC)\chksum.asm;
  83.  
  84. stdargv.obj: $(SRC)\dos\stdargv.asm $(CMACROS) $(INC)\msdos.inc \
  85.             $(INC)\rterr.inc
  86.             $(ASM) $(SRC)\dos\stdargv.asm,stdargv.obj;
  87.  
  88. stdalloc.obj: $(SRC)\dos\stdalloc.asm $(CMACROS) \
  89.             $(INC)\heap.inc $(INC)\msdos.inc
  90.             $(ASM) $(SRC)\dos\stdalloc.asm,stdalloc.obj;
  91.  
  92. stdenvp.obj: $(SRC)\dos\stdenvp.asm $(CMACROS) $(INC)\msdos.inc \
  93.             $(INC)\rterr.inc
  94.             $(ASM) $(SRC)\dos\stdenvp.asm,stdenvp.obj;
  95.  
  96. nchkstk.obj: $(SRC)\chkstk.asm $(CMACROS) $(INC)\msdos.inc
  97.     $(ASM) -DMI_NEAR $(SRC)\chkstk.asm,nchkstk.obj;
  98.  
  99. fchkstk.obj: $(SRC)\chkstk.asm $(CMACROS) $(INC)\msdos.inc
  100.     $(ASM) -DMI_FAR $(SRC)\chkstk.asm,fchkstk.obj;
  101.  
  102. nrchkstk.obj: $(SRC)\rchkstk.asm $(CMACROS) $(INC)\msdos.inc
  103.     $(ASM) -DMI_NEAR $(SRC)\rchkstk.asm,nrchkstk.obj;
  104.  
  105. frchkstk.obj: $(SRC)\rchkstk.asm $(CMACROS) $(INC)\msdos.inc
  106.     $(ASM) -DMI_FAR $(SRC)\rchkstk.asm,frchkstk.obj;
  107.  
  108. #
  109. # .com file modules (tiny model)
  110. #
  111.  
  112. com0.obj: $(SRC)\dos\crt0.asm $(CMACROS) $(INC)\heap.inc $(INC)\msdos.inc \
  113.         $(INC)\rterr.inc
  114.         $(ASM) -D_COM_ $(SRC)\dos\crt0.asm,com0.obj;
  115.  
  116. com0dat.obj: $(SRC)\dos\crt0dat.asm $(CMACROS) $(INC)\rterr.inc
  117.         $(ASM) -D_COM_ $(SRC)\dos\crt0dat.asm,com0dat.obj;
  118.  
  119. crtcom.lib: com0.obj com0dat.obj
  120.         if exist crtcom.lib del crtcom.lib
  121.         lib crtcom.lib com0.obj+com0dat.obj;
  122.  
  123. #
  124. # stdio file module
  125. #
  126.  
  127. _file.obj:  $(SRC)\_file.c $(CINC)\stdio.h $(INC)\file2.h
  128.             $(CL) -Zel -Fo_file.obj $(SRC)\_file.c
  129.  
  130. #
  131. # wild card expansion support modules
  132. #
  133.  
  134. setargv.obj: $(SRC)\setargv.asm $(CMACROS)
  135.              $(ASM) $(SRC)\setargv.asm,setargv.obj;
  136.  
  137. _setargv.obj: $(SRC)\dos\stdargv.asm $(CMACROS) $(INC)\msdos.inc \
  138.               $(INC)\rterr.inc
  139.               $(ASM) -DWILDCARD $(SRC)\dos\stdargv.asm,_setargv.obj;
  140.  
  141. wild.obj:     $(SRC)\wild.c $(CINC)\stddef.h $(CINC)\string.h \
  142.         $(CINC)\malloc.h $(INC)\register.h $(CINC)\ctype.h \
  143.         $(INC)\msdos.h
  144.         $(CL) -Zel $(SRC)\wild.c
  145.  
  146. #
  147. # error message modules
  148. #
  149.  
  150. crt0fp.obj:    $(SRC)\crt0fp.asm $(CMACROS) $(INC)\rterr.inc
  151.         $(ASM) $(SRC)\crt0fp.asm;
  152.  
  153. execmsg.obj: $(SRC)\dos\execmsg.asm $(CMACROS) $(INC)\rterr.inc
  154.              $(ASM) $(SRC)\dos\execmsg.asm,execmsg.obj;
  155.  
  156.  
  157. #
  158. # small program
  159. #
  160.  
  161. nulbody.obj: $(SRC)\nulbody.c
  162.              $(CL) -Lr -Fonulbody.obj $(SRC)\nulbody.c
  163.  
  164. #
  165. # this step is always done because the target does not exist
  166. #
  167.  
  168. dosstart:
  169.         link @$(SRC)\dos\nulbody.lnk;
  170.