#
# MetroWerks NLM tools
-CC = mwccnlm
-CPP = mwccnlm
+CC = mwccnlm
+CPP = mwccnlm
LINK = mwldnlm
-LIB = mwldnlm -type library -w nocmdline
+LIB = mwldnlm -type library -w nocmdline
+WIN_CC = mwcc
NOVI = $(NOVELLLIBC)\imports
DEFINES += -DNDEBUG
endif
-#
# MetroWerks static Libraries
-
CLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
MATH3S =
PLIB3S = $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
+# MetroWerks Win32 build flags to create build tool
+MWCW_MSL = "$(METROWERKS)/MSL"
+MWCW_W32 = "$(METROWERKS)/Win32-x86 Support"
+WIN_CFLAGS = -O2 -gccinc -nodefaults -proc 586 -w off
+WIN_CFLAGS += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32)
+WIN_CFLAGS += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib
+
+ifndef BUILDTOOL_AS_NLM
+BUILDTOOL_AS_NLM = 1
+endif
+
# Base compile flags
# and prefix or precompiled header added here.
$(APR)/include/apr.h \
$(APRUTIL)/include/apu.h \
$(APRUTIL)/include/apr_ldap.h \
+ $(NWOS)/test_char.h \
$(PCRE)/config.h \
$(PCRE)/pcre.h \
$(EOLIST)
-nlms :: $(NWOS)/httpd.imp
+nlms :: $(NWOS)/httpd.imp $(NWOS)/chartables.c
$(NWOS)/httpd.imp : make_nw_export.awk nw_export.i
@echo Generating $(subst /,\,$@)
@echo Creating $(subst /,\,$@)
copy $< $(subst /,\,$(PCRE))\$(@F)
+ifneq "$(BUILDTOOL_AS_NLM)" "1"
+
+$(NWOS)/chartables.c: dftables.exe $(PCRE)/dftables.c $(FILES_prebuild_headers)
+ @echo Creating $(subst /,\,$@)
+ @$< > $@
+
+%.exe: $(PCRE)/%.c
+ @echo Creating Build Helper $@
+ @$(WIN_CC) $(WIN_CFLAGS) $< -o $@
+
+$(NWOS)/test_char.h: gen_test_char.exe $(AP_WORK)/server/gen_test_char.c
+ @echo Creating $(subst /,\,$@)
+ @$< > $@
+
+%.exe: $(AP_WORK)/server/%.c
+ @echo Creating Build Helper $@
+ @$(WIN_CC) $(WIN_CFLAGS) -DCROSS_COMPILE $< -o $@
+
+else
+
+ifneq "$(wildcard $(NWOS)/chartables.c)" "$(NWOS)/chartables.c"
+$(error Error: required source $(NWOS)/chartables.c not found!)
+endif
+
+ifneq "$(wildcard $(NWOS)/test_char.h)" "$(NWOS)/test_char.h"
+$(error Error: required header $(NWOS)/test_char.h not found!)
+endif
+
+endif
+
#
# You can use this target if all that is needed is to copy files to the
# installation area
#
install :: nlms FORCE
-
+
clean ::
$(CHK) nw_export.i $(DEL) nw_export.i
$(CHK) $(subst /,\,$(PCRE))\config.h $(DEL) $(subst /,\,$(PCRE))\config.h
$(CHK) $(subst /,\,$(PCRE))\pcre.h $(DEL) $(subst /,\,$(PCRE))\pcre.h
$(CHK) $(subst /,\,$(NWOS))\httpd.imp $(DEL) $(subst /,\,$(NWOS))\httpd.imp
+ifneq "$(BUILDTOOL_AS_NLM)" "1"
+ $(CHK) $(subst /,\,$(NWOS))\chartables.c $(DEL) $(subst /,\,$(NWOS))\chartables.c
+ $(CHK) $(subst /,\,$(NWOS))\test_char.h $(DEL) $(subst /,\,$(NWOS))\test_char.h
+ $(CHK) dftables.exe $(DEL) dftables.exe
+ $(CHK) gen_test_char.exe $(DEL) gen_test_char.exe
+endif