# File: D:\WACKER\common.mki (Created: 23-Nov-1993) # # Copyright 1993 by Hilgraeve Inc. -- Monroe, MI # All rights reserved # # $Revision: 1.6 $ # $Date: 1995/12/21 13:17:03 $ # #-------------------# all : makefile TARGETS #-------------------# VERSION = WIN_DEBUG MACHINE = i386 SUBSYSTEM = WINDOWS,4.0 LANG = USA #-------------------# %if ${LANG} == JAPANESE CHAR_ENBL = MBCS %else CHAR_ENBL = . %endif #-------------------# %if ${LANG} == USA TAGFILE = usa.tag %elseif ${LANG} == JAPANESE TAGFILE = japan.tag %else %abort [LANG=USA (default) | JAPANESE ] %endif #-------------------# %if %exists(\wacker\personal.cfg) %include \wacker\personal.cfg %endif #-------------------# EXE_DIR = \WACKER\EXE WIN_D = $(EXE_DIR)\WIN.DBG WIN_R = $(EXE_DIR)\WIN.REL WIN_1R = $(EXE_DIR)\WIN1.REL #-------------------# CV_OPTIONS = /Zi /Od CBASE = /nologo \ /W3 \ /J \ /Gz \ /Gf \ /Fo$(BD)/ \ /I\wacker \ /D_WINDOWS \ /D_WIN32 \ /D_STRICT \ /D$(BLD_VER) \ /DNO_SMARTHEAP \ /D$(LANG) \ /YX \ /Fp$(BD)\windows.pch \ $(EXTRA_DEFS) CRELEASE = /Ox /MD /Gs /DNDEBUG $(CBASE) CDEBUG = /MDd /D_DEBUG $(CV_OPTIONS) $(CBASE) #-------------------# MAP_OPTIONS = /MAP LBASE = /SUBSYSTEM:$(SUBSYSTEM) /MACHINE:$(MACHINE) /NOLOGO \ /INCREMENTAL:NO LRELEASE = $(LBASE) /RELEASE /MAP /OPT:REF LDEBUG = $(LBASE) /DEBUGTYPE:CV /DEBUG /NOD:MSVCRT /NOD:MSVCRTD LDEBUGEXT = $(LBASE) /DEBUGTYPE:CV /DEBUG #-------------------# %if $(VERSION) == WIN_DEBUG CFLAGS = $(CDEBUG) LFLAGS = $(LDEBUG) BD = $(WIN_D)\$(CHAR_ENBL) BLD_VER = WIN_VERSION %elseif $(VERSION) == WIN_RELEASE CFLAGS = $(CRELEASE) LFLAGS = $(LRELEASE) BD = $(WIN_R)\$(CHAR_ENBL) BLD_VER = WIN_VERSION %else %abort VERSION macro defined to unknown type. %endif # if you want to generate map and symbol files, define the MAP_AND_SYMBOLS # macro in your personal.cfg file or on the omake command line # %if defined(MAP_AND_SYMBOLS) LFLAGS += $(MAP_OPTIONS) %endif # --- Tell omake where to put built objects --- # .PATH.obj=$(BD) .PATH.lib=$(BD) .PATH.exp=$(BD) .PATH.dll=$(BD) .PATH.exe=$(BD) .PATH.res=$(BD) .PATH.sbr=$(BD) .PATH.bsc=$(BD) .PATH.sym=$(BD) .PATH.map=$(BD) # --- Some programs need all the memory they can get --- # .MEMSWAP: mapsym # --- Win32 tools use different response file formats --- # .RESPONSE.LINK: .RESPONSE.LIB: .RESPONSE.STD: link lib bscmake # --- Inference rule used to build all C files --- # %.obj .SILENT : %.c $(CC) $(CFLAGS) /c {$(<,A) } # --- Inference rule to build import libraries --- # %.lib + %.exp .SILENT : %.def lib -def:$< -machine:$(MACHINE) -subsystem:$(SUBSYSTEM) -out:$(@,1) # --- Inference rule to build makefiles --- # %makefile : %makefile.t mkmf -t makefile.t %restart #-------------------# .BEFORE : %if !%exists(\wacker\rcsctrl) %abort Must have an rcsctrl file! %endif %if %writable(\wacker\rcsctrl) %abort *** rcsctrl is not read-only. *** %endif %if %exists(\wacker\fromrcs.zip) && $(FIRSTTARGET) != fromrcs %abort *** fromrcs.zip exists. Type OMAKE FROMRCS *** %endif %if !%exists($(EXE_DIR)) -mkdir $(EXE_DIR) %endif %if !%exists($(BD)) -mkdir $(BD) %endif #-------------------# callmake : %chdir $(dir) %if !%exists(makefile) || %time(makefile) < %time(makefile.t) mkmf -t makefile.t %endif $(MAKE) $(MFLAGS) $(MAKEMACROS) $(TARGET) %chdir .. #-------------------# \wacker\rcsctrl .NOINFER : $(RCSFILES) @echo . @echo . Archiving $(CWD) @echo . %foreach file in $? echo $(file,\wacker=.) >>\wacker\pkzip.rsp %end #-------------------#