#========================================================= # # nmake - build DEBUG version (default) # nmake RELEASE=1 - build RELEASE version (nmake clean first!) # #========================================================= # # Default definitions # NAME=db !if "$(RELEASE)"=="" RELEASE=0 !endif DEFS=/DSTRICT ROOT=..\..\..\.. DEVTREE = $(ROOT)\dev DEVCOMMON = $(DEVTREE)\tools\common DEVC8 = $(DEVTREE)\tools\c816 DEVINC = $(DEVTREE)\inc16;$(DEVTREE)\sdk\inc16;$(DEVC8)\inc DEVLIB = $(DEVC8)\lib;$(DEVTREE)\lib16;$(DEVTREE)\sdk\lib16;. MAPSYM = $(DEVCOMMON)\mapsym.exe RC = $(DEVTREE)\sdk\bin\rc.exe CC = $(DEVC8)\bin\cl.exe MASM = $(DEVTREE)\tools\masm\ml.exe LINK = $(DEVC8)\bin\link.exe IMPLIB = $(DEVC8)\bin\implib.exe H2INC = $(DEVCOMMON)\asm6h2nc.exe INCLUDES = $(DEVCOMMON)\includes.exe USERINC = ..\..\record.mgr; ..\..\inc; ALL_INC=$(DEVINC);$(USERINC) #========================================================= # # Debug options # DEBUG_CFLAGS= DEBUG_AFLAGS= DEBUG_LFLAGS= !if $(RELEASE)==0 DEBUG_LFLAGS=/CODEVIEW DEBUG_CFLAGS=/DDEBUG /Zi DEBUG_AFLAGS=/DDEBUG /Zi !endif #========================================================= # # Default compiler, assembler, linker flags # # CFLAGS=-nologo $(DEBUG_CFLAGS) /W3 /c /AS /Owcgelsn /G2s /Gc /GA /Zp /Zd $(DEFS) CFLAGS=-c -AS -G2s -Zp -W3 -Zid -Od HIFLAGS= $(DEBUG_CFLAGS) /W3 /c /AS /Owcgelsn /G2s /Gc /Zp /Zd $(DEFS) AFLAGS=/nologo $(DEBUG_AFLAGS) /c /Cp /W2 /Zd $(DEFS) LFLAGS=$(DEBUG_LFLAGS) /NOD /NOE /MAP /LI #========================================================= # # Libraries # LIBS=slibce #========================================================= # # Build rules # .SUFFIXES: .c .asm .obj .c.obj: set INCLUDE=$(ALL_INC) $(CC) $(CFLAGS) $*.c .asm.obj: set INCLUDE=$(ALL_INC) $(MASM) $(AFLAGS) $*.asm .asm.lst: set INCLUDE=$(ALL_INC) $(MASM) $(AFLAGS) /Fl$*.lst $*.asm #========================================================= # # Build dependencies # OBJ = db.obj target: $(NAME).exe $(NAME).exe: makefile.w97 $(OBJ) set LIB=$(DEVLIB) $(LINK) $(LFLAGS) @<< $(OBJ) $(NAME).exe $(NAME).map $(LIBS); << $(MAPSYM) $(NAME) clean: -del *.obj -del $(NAME).exe -del $(NAME).map -del $(NAME).sym depend: set INCLUDE=$(ALL_INC) $(INCLUDES) -I. -i -e -S. -L. *.asm >depend.mk $(INCLUDES) -I. -i -e -S. -L. *.c >>depend.mk $(INCLUDES) -I. -i -e -S. -L. *.h >>depend.mk $(INCLUDES) -I. -i -e -S. -L. *.inc >>depend.mk #========================================================= # # File dependencies # !if exist(depend.mk) !include depend.mk !else !message Warning: DEPEND.MK not found. !endif