dos_compilers/Microsoft C v5/SRC/STARTUP/MAKEFILE
2024-07-04 11:24:57 -07:00

134 lines
4.1 KiB
Plaintext

#############################################################
#
# 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