############################################################# # # Copyright (c) 1986-1988, Microsoft Corporation. All rights reserved. # # makefile for building c runtime startup objects # and linking null c program # # This makefile is invoked by STARTUP.BAT. # See STARTUP.BAT for usage information. # ############################################################# MODEL=S SRC=.. INC=.. CINC=.. CFLAGS=-A$(MODEL) -I$(INC) -I$(CINC) -Os -Gs -c CL=cl $(CFLAGS) ASMFLAGS= -Mx -Dmem_$(MODEL) -I$(INC) ASM=masm $(ASMFLAGS) CMACROS=$(INC)\version.inc $(INC)\cmacros.inc # startup modules dos\crt0.obj: $(SRC)\dos\crt0.asm $(CMACROS) $(INC)\msdos.inc $(INC)\brkctl.inc $(ASM) $(SRC)\dos\crt0.asm,dos\crt0.obj; os2\crt0.obj: $(SRC)\os2\crt0.asm $(CMACROS) $(INC)\msdos.inc $(INC)\brkctl.inc $(ASM) $(SRC)\os2\crt0.asm,os2\crt0.obj; dos\crt0dat.obj: $(SRC)\dos\crt0dat.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\dos\crt0dat.asm,dos\crt0dat.obj; os2\crt0dat.obj: $(SRC)\os2\crt0dat.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\os2\crt0dat.asm,os2\crt0dat.obj; dos\crt0msg.obj: $(SRC)\dos\crt0msg.asm $(CMACROS) $(ASM) $(SRC)\dos\crt0msg.asm,dos\crt0msg.obj; os2\crt0msg.obj: $(SRC)\os2\crt0msg.asm $(CMACROS) $(ASM) $(SRC)\os2\crt0msg.asm,os2\crt0msg.obj; fmsghdr.obj: $(SRC)\fmsghdr.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\fmsghdr.asm; dos\nmsghdr.obj: $(SRC)\dos\nmsghdr.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\dos\nmsghdr.asm,dos\nmsghdr.obj; os2\nmsghdr.obj: $(SRC)\os2\nmsghdr.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\os2\nmsghdr.asm,os2\nmsghdr.obj; chksum.obj: $(SRC)\chksum.asm $(CMACROS) $(ASM) $(SRC)\chksum.asm; dos\stdargv.obj: $(SRC)\dos\stdargv.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\dos\stdargv.asm,dos\stdargv.obj; os2\stdargv.obj: $(SRC)\os2\stdargv.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\os2\stdargv.asm,os2\stdargv.obj; dos\stdalloc.obj: $(SRC)\dos\stdalloc.asm $(CMACROS) \ $(INC)\brkctl.inc $(INC)\msdos.inc $(ASM) $(SRC)\dos\stdalloc.asm,dos\stdalloc.obj; os2\stdalloc.obj: $(SRC)\os2\stdalloc.asm $(CMACROS) \ $(INC)\brkctl.inc $(INC)\msdos.inc $(ASM) $(SRC)\os2\stdalloc.asm,os2\stdalloc.obj; dos\stdenvp.obj: $(SRC)\dos\stdenvp.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\dos\stdenvp.asm,dos\stdenvp.obj; os2\stdenvp.obj: $(SRC)\os2\stdenvp.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\os2\stdenvp.asm,os2\stdenvp.obj; dos\chkstk.obj: $(SRC)\chkstk.asm $(CMACROS) $(INC)\msdos.inc $(ASM) $(SRC)\chkstk.asm,dos\chkstk.obj; os2\chkstk.obj: $(SRC)\chkstk.asm $(CMACROS) $(INC)\msdos.inc $(ASM) -DOS2 $(SRC)\chkstk.asm,os2\chkstk.obj; # stdio file module dos\_file.obj: $(SRC)\_file.c $(CINC)\stdio.h $(INC)\file2.h $(CL) -Zel -Fodos\_file.obj $(SRC)\_file.c os2\_file.obj: $(SRC)\_file.c $(CINC)\stdio.h $(INC)\file2.h $(CL) -Zel -DOS2 -Foos2\_file.obj $(SRC)\_file.c # wild card expansion support modules ..\setargv.obj: $(SRC)\setargv.asm $(CMACROS) $(ASM) $(SRC)\setargv.asm,..\setargv.obj; dos\_setargv.obj: $(SRC)\dos\stdargv.asm $(CMACROS) $(INC)\msdos.inc $(ASM) -DWILDCARD $(SRC)\dos\stdargv.asm,dos\_setargv.obj; os2\_setargv.obj: $(SRC)\os2\stdargv.asm $(CMACROS) $(INC)\msdos.inc $(ASM) -DWILDCARD $(SRC)\os2\stdargv.asm,os2\_setargv.obj; wild.obj: $(SRC)\wild.c $(CINC)\stdio.h $(CINC)\ctype.h $(INC)\register.h $(CINC)\ctype.h $(CL) -Zel $(SRC)\wild.c # error message modules crt0fp.obj: $(SRC)\crt0fp.asm $(CMACROS) $(ASM) $(SRC)\crt0fp.asm; dos\execmsg.obj: $(SRC)\dos\execmsg.asm $(CMACROS) $(ASM) $(SRC)\dos\execmsg.asm,dos\execmsg.obj; os2\execmsg.obj: $(SRC)\os2\execmsg.asm $(CMACROS) $(ASM) $(SRC)\os2\execmsg.asm,os2\execmsg.obj; # small program dos\nulbody.obj: $(SRC)\nulbody.c $(CL) -Fodos\nulbody.obj $(SRC)\nulbody.c os2\nulbody.obj: $(SRC)\nulbody.c $(CL) -Foos2\nulbody.obj $(SRC)\nulbody.c # this step is always done because the target does not exist startup: link @$(SRC)\dos\nulbody.lnk link @$(SRC)\os2\nulbody.lnk