# # fte-owos2.mak # # Copyright (c) 2008, eFTE SF Group (see AUTHORS file) # # You may distribute under the terms of either the GNU General Public # License or the Artistic License, as specified in the README file. # 2022-01-03 SHL Rework DEBUG mode to work # # #---------------------------------------------------------------------------- # # Makefile for ECS-OS2 version of eFTE using OpenWatcom 1.4 # # Notes: # # 1. clipserv and cliputil are not required for current versions of OS/2. I # do not use an older version so I do not include them in this makefile. # # 2. OpenWatcom uses & rather than \ as line continuation if objs.mif is not # in the src directory wmake -f owconvert.mak will compile watconvert.exe. # When run objs.mif will be created from objs.inc. # #---------------------------------------------------------------------------- #.SILENT !ifdef %EFTEMAJOR EFTEMAJOR = $(%EFTEMAJOR) !else EFTEMAJOR = 1 !endif !ifdef %EFTEMINOR EFTEMINOR = $(%EFTEMINOR) !else EFTEMINOR = 1 !endif !ifdef %EFTEREVISION EFTEREVISION = $(%EFTEREVISION) !else EFTEREVISION = 0 !endif !ifdef %EFTEFIXLEVEL EFTEFIXLEVEL = $(%EFTEFIXLEVEL) !else EFTEFIXLEVEL = 0 !endif !ifdef %EFTEBUILDDATE EFTEBUILDDATE = $(%EFTEBUILDDATE) !else EFTEBUILDDATE = Aug 23, 2022 11:14:06 !endif !ifdef %EFTEBUILDMACHINE EFTEBUILDMACHINE = $(%EFTEBUILDMACHINE) !else EFTEBUILDMACHINE = Zobopeep !endif # 2017-07-29 SHL Allow PmPrintf directory override !ifndef PMPRINTFDIR !ifdef %PMPRINTFDIR PMPRINTFDIR = $(%PMPRINTFDIR) !else PMPRINTFDIR = U:\PMPrintf !endif !endif !ifdef %WARNALL # if defined in environment WARNALL = $(%WARNALL) # use value from environment !endif CC = wpp386 LD = wlink RC = wrc PERL = perl CHDIR = cd MAKE = WMAKE SED = sed.exe # Machine type -5r Pent -6r Pent Pro MACHINE= -6r # 2022-01-03 SHL Allow from environment or command line !ifndef DEBUG !ifdef %DEBUG DEBUG = $(%DEBUG) !endif !endif # 2022-01-16 GKY Allow PMPrintf use from environment or command line !ifndef USE_PMPRINTF !ifdef %USE_PMPRINTF USE_PMPRINTF = $(%USE_PMPRINTF) !endif !endif #Optimization None -od - Fastest possible -otexan OPT= -otanirl+ -zp4 INCLUDE = $(%watcom)\h;$(%watcom)\h\os2;.\ # suppress warnings 555 and 013 MISC = -wcd555 -wcd013 -wcd726 DEFS = -dOS2 -dOS2OW -dINCL_32 -dWATCOM -dUSE_LOCALE !ifdef USE_PMPRINTF DEFS += -dUSE_PMPRINTF !endif !ifdef DEBUG CFLAGS = -i=$(INCLUDE) $(MISC) $(DEFS) -dUSE_PMPRINTF -d3 -db -w4 -e25 -zq $(OPT) $(MACHINE) -bm -bt=OS2 -mf -xs -of+ -ef # 2022-01-03 SHL op symf write dwarf debug data to foo.sym which get overwritten by mapsymw.pl #LDFLAGS = debug all op m op maxe=25 op q op symf op el op stack=128k LDFLAGS = debug dwarf op m op maxe=25 op q op el op stack=128k !else CFLAGS = -i=$(INCLUDE) $(MISC) $(DEFS) -d1 -db -w4 -e25 -zq $(OPT) $(MACHINE) -bm -bt=OS2 -mf -xs -of+ -wx -ef LDFLAGS = op m op maxe=25 op q op symf op el op stack=128k !endif !ifdef WARNALL CFLAGS += -wce=130 !else CFLAGS += -we !endif OEXT = obj .EXTENSIONS:.rc .res !include objs.mif .cpp.obj: .AUTODEPEND $(CC) $(CFLAGS) $< all: efte.exe eftepm.exe .symbolic #cefte.exe: $(CFTE_OBJS) fte.def # $(LD) NAME cefte SYS os2v2 $(LDFLAGS) FILE {$(CFTE_OBJS)} defcfg.h: bin2c.exe simple.fte bin2c simple.fte >defcfg.h bin2c.exe: bin2c.obj $(LD) NAME bin2c SYS os2v2 $(LDFLAGS) FILE {bin2c.obj} c_config.obj: c_config.cpp defcfg.h efte.res: efte.rc $(RC) -r efte.rc efte.res efte.exe: $(OBJS) $(VIOOBJS) fte.def.tpl efte.res $(__MAKEFILES__) $(SED) -e "s;(EFTEMAJOR);$(EFTEMAJOR);g" & -e "s;(EFTEMINOR);$(EFTEMINOR);g" & -e "s;(EFTEREVISION);$(EFTEREVISION);g" & -e "s;(EFTEFIXLEVEL);$(EFTEFIXLEVEL);g" & -e "s;(EFTEBUILDDATE);$(EFTEBUILDDATE);g" & -e "s;Sun \|Mon \|Tue \|Wed \|Thu \|Fri \|Sat;;g" & -e "s;(EFTEBUILDMACHINE);$(EFTEBUILDMACHINE);g" & fte.def.tpl > fte.def $(LD) $(LDFLAGS) @fte.def lib $(PMPRINTFDIR)\PMPRINTF.LIB lib libconv.lib lib libuls.lib FILE {$(OBJS) $(VIOOBJS)} $(RC) efte.res efte.exe !ifndef DEBUG $(PERL) ..\tools\mapsymw.pl efte.map !endif mapxqs.exe efte.map !ifndef DEBUG lxlite efte.exe /x- /b- lxlite efte.exe /c:minstub !endif ..\tools\addicon icons\efte.ico efte.exe eftepm.res: eftepm.rc pmdlg.rc $(RC) -r eftepm.rc eftepm.res eftepm.exe: $(OBJS) $(PMOBJS) eftepm.res ftepm.def.tpl .explicit $(SED) -e "s;(EFTEMAJOR);$(EFTEMAJOR);g" & -e "s;(EFTEMINOR);$(EFTEMINOR);g" & -e "s;(EFTEREVISION);$(EFTEREVISION);g" & -e "s;(EFTEFIXLEVEL);$(EFTEFIXLEVEL);g" & -e "s;(EFTEBUILDDATE);$(EFTEBUILDDATE);g" & -e "s;Sun \|Mon \|Tue \|Wed \|Thu \|Fri \|Sat;;g" & -e "s;(EFTEBUILDMACHINE);$(EFTEBUILDMACHINE);g" & ftepm.def.tpl > ftepm.def $(LD) $(LDFLAGS) FILE {$(OBJS) $(PMOBJS)} @ftepm.def lib $(PMPRINTFDIR)\PMPRINTF.LIB lib libconv.lib lib libuls.lib $(RC) eftepm.res eftepm.exe !ifndef DEBUG $(PERL) ..\tools\mapsymw.pl eftepm.map !endif mapxqs.exe eftepm.map-ibm !ifndef DEBUG lxlite eftepm.exe /x- /b- lxlite eftepm.exe /c:minstub !endif release: all hlp dde wpi .symbolic hlp: .symbolic $(CHDIR) ..\docs\001 $(MAKE) $(__MAKEOPTS__) $(CHDIR) ..\..\src # $(CHDIR) ..\docs\NL # $(MAKE) $(__MAKEOPTS__) # $(CHDIR) ..\..\src dde: .symbolic $(CHDIR) iwfdde $(MAKE) $(__MAKEOPTS__) $(CHDIR) .. wpi: .symbolic $(CHDIR) ..\packaging\warpin $(MAKE) $(__MAKEOPTS__) $(CHDIR) ..\..\src clean : .symbolic -@rm *.obj -@rm *.exe -@rm *.err -@rm *.lst -@rm *.map -@rm *.sym -@rm *.xqs -@rm *.res -@rm *.mbr -@rm *.*~ cleanall : .symbolic -@rm *.obj -@rm *.exe -@rm *.err -@rm *.lst -@rm *.map -@rm def*.h -@rm *.cnf # -@rm *.mif -@rm *.sym -@rm *.xqs -@rm *.res -@rm *.mbr -@rm *.*~ $(CHDIR) ..\packaging\warpin $(MAKE) -h $(__MAKEOPTS__) clean $(CHDIR) ..\..\src $(CHDIR) ..\docs\001 $(MAKE) -h $(__MAKEOPTS__) clean $(CHDIR) ..\..\src