You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.0 KiB
138 lines
3.0 KiB
|
|
# Use specific 16-bit compiler/linker/masm
|
|
# PATH = $(MAKEDIR)\..\c6\bin;$(PATH)
|
|
PATH = $(PATH_TOOLS16);$(PATH)
|
|
|
|
!IFNDEF LANGUAGE
|
|
LANGUAGE=usa
|
|
!ENDIF
|
|
|
|
!IFNDEF DEBUG
|
|
DEBUG=0
|
|
!ENDIF
|
|
|
|
!IF $(DEBUG)
|
|
C_DBG_FLAGS=-Zi -Od -DDBG=1
|
|
ASM_DBG_FLAGS=-Zi
|
|
LINK_DBG_FLAGS=/codeview
|
|
!ELSE
|
|
C_DBG_FLAGS=-DDBG=0
|
|
ASM_DBG_FLAGS=
|
|
LINK_DBG_FLAGS=
|
|
!ENDIF
|
|
|
|
# Set up define for building dntext.obj
|
|
!IFNDEF DNTEXT_C_FILE
|
|
DNTEXT_C_FILE= dntext.c
|
|
!ENDIF
|
|
|
|
#
|
|
# Compiler and masm flags
|
|
#
|
|
|
|
CC= cl16
|
|
CFCOMMON=-WX -W3 -Zel -G2 -AC $(C_DBG_FLAGS)
|
|
CINC=-X -I.. -I..\c6\inc -I$(O) -I..\..\..\inc
|
|
CFLAGS=$(CFCOMMON) $(CFOPT)
|
|
|
|
AS=masm
|
|
AFLAGS=-Ml $(ASM_DBG_FLAGS)
|
|
AINC=-X -I..
|
|
|
|
#
|
|
# Inference rules
|
|
#
|
|
|
|
.SUFFIXES: .h .asm .c
|
|
|
|
# cl16's command line is approaching the size limit;
|
|
# do not add unnecessary spaces or long compiler flags.
|
|
|
|
{}.c{$(O)}.obj:
|
|
$(CC) $(CFLAGS) $(CINC) -c /Fo$(@D)\ $<
|
|
|
|
{..}.c{$(O)}.obj:
|
|
$(CC) $(CFLAGS) $(CINC) -c /Fo$(@D)\ $<
|
|
|
|
{..}.c{$(O)}.cod:
|
|
$(CC) $(CFLAGS) $(CINC) -Fc -c /Fo$(@D)\ $<
|
|
|
|
{..}.asm{$(O)}.obj:
|
|
$(AS) $(AFLAGS) $(AINC) $< ,$(@D)\;
|
|
|
|
# Copy .h files from public\sdk\inc locally,
|
|
# so that cl16's command line does not exceed the limit.
|
|
|
|
{$(SDK_INC_PATH)}.h{$(O)}.h:
|
|
copy $** $@
|
|
|
|
# link16's command line is approaching the size limit;
|
|
# do not add unnecessary spaces in defining OBJS.
|
|
|
|
OBJS =\
|
|
$(O)\winnt.obj\
|
|
$(O)\dnutil.obj\
|
|
$(O)\dntext.obj\
|
|
!IFDEF JAPAN
|
|
$(O)\dndispjp.obj\
|
|
!ELSE
|
|
$(O)\dndisp.obj\
|
|
!ENDIF
|
|
$(O)\dninf.obj\
|
|
$(O)\dncopy.obj\
|
|
$(O)\dnboot.obj\
|
|
$(O)\dngauge.obj\
|
|
$(O)\dndelnod.obj\
|
|
$(O)\dnnttree.obj\
|
|
$(O)\dncompv.obj\
|
|
$(O)\dna.obj\
|
|
$(O)\cpu.obj
|
|
|
|
LIBS = ..\..\..\c6\lib\clibce
|
|
|
|
$(O)\winnt.exe: $(OBJS) $(PATH_TOOLS16)\$(CC).exe
|
|
cd $(O)
|
|
link16 @<<
|
|
$(OBJS:obj\i386\=) /NOI /STACK:0x1000 $(LINK_DBG_FLAGS)
|
|
winnt.exe
|
|
nul
|
|
$(LIBS)
|
|
|
|
|
|
<<
|
|
cd $(MAKEDIR)
|
|
-binplace $(BINPLACE_OPT) -O $(ALT_PROJECT_TARGET) $@
|
|
|
|
|
|
$(O)\winnt.obj: ..\winnt.c ..\winnt.h ..\dninf.h
|
|
$(O)\dnutil.obj: ..\dnutil.c ..\winnt.h ..\dninf.h
|
|
$(O)\dninf.obj: ..\dninf.c ..\winnt.h ..\dninf.h
|
|
$(O)\dncopy.obj: ..\dncopy.c ..\winnt.h ..\dninf.h
|
|
$(O)\dnboot.obj: ..\dnboot.c ..\winnt.h ..\dninf.h
|
|
$(O)\dngauge.obj: ..\dngauge.c ..\winnt.h ..\dninf.h
|
|
$(O)\dndelnod.obj: ..\dndelnod.c ..\winnt.h ..\dninf.h
|
|
$(O)\dnnttree.obj: ..\dnnttree.c ..\winnt.h ..\dninf.h
|
|
$(O)\dncompv.obj: ..\dncompv.c ..\winnt.h ..\dncompvp.h
|
|
$(O)\dna.obj: ..\dna.asm
|
|
$(O)\cpu.obj: ..\cpu.asm ..\cpu.inc
|
|
|
|
$(O)\dntext.obj: $(DNTEXT_C_FILE) ..\winnt.h ..\dninf.h
|
|
$(CC) $(CFLAGS) $(CINC) -c /Fo$(@D)\ $(DNTEXT_C_FILE)
|
|
|
|
!IFDEF JAPAN
|
|
$(O)\dndispjp.obj: ..\dndispjp.c ..\winnt.h ..\dninf.h
|
|
!ELSE
|
|
$(O)\dndisp.obj: ..\dndisp$(JP_EXT).c ..\winnt.h ..\dninf.h
|
|
!ENDIF
|
|
|
|
!IFDEF COPY_USA_WINNT
|
|
$(O)\winntus.exe: ..\usa\$(O)\winnt.exe
|
|
copy $** $@
|
|
binplace -O $(ALT_PROJECT_TARGET) $@
|
|
!ELSE
|
|
$(O)\winntus.exe: ..\us2\$(O)\winnt.exe
|
|
copy $** $@
|
|
binplace -O $(ALT_PROJECT_TARGET) $@
|
|
!ENDIF
|
|
|
|
|