Commit f45d3427 authored by Guenter Knauf's avatar Guenter Knauf
Browse files

NetWare build overhaul in order to compile on Linux.

Take 1.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1079407 13f79535-47bb-0310-9956-ffa450edef68
parent 2725b574
Loading
Loading
Loading
Loading
+50 −50
Changes for NWGNUmakefile: 50 added lines, 50 removed lines.
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ SUBDIRS = \
# paths to tools
#

include $(AP_WORK)\build\NWGNUhead.inc
include $(AP_WORK)/build/NWGNUhead.inc

#
# build this level's files
@@ -170,7 +170,7 @@ NLM_SCREEN_NAME = Apache $(VERSION_STR) for NetWare

#
# If this is specified, it will override VERSION value in
# $(AP_WORK)\build\NWGNUenvironment.inc
# $(AP_WORK)/build/NWGNUenvironment.inc
#
NLM_VERSION	=

@@ -183,12 +183,12 @@ NLM_STACK_SIZE = 65536
#
# If this is specified it will be used by the link '-entry' directive
#
NLM_ENTRY_SYM	= _LibCPrelude
NLM_ENTRY_SYM	=

#
# If this is specified it will be used by the link '-exit' directive
#
NLM_EXIT_SYM	= _LibCPostlude
NLM_EXIT_SYM	=

#
# If this is specified it will be used by the link '-check' directive
@@ -387,58 +387,58 @@ nlms :: libs $(TARGET_nlm)

#
# Updated this target to create necessary directories and copy files to the
# correct place.  (See $(AP_WORK)\build\NWGNUhead.inc for examples)
# correct place.  (See $(AP_WORK)/build/NWGNUhead.inc for examples)
#
install :: nlms instscripts FORCE
	-copy $(OBJDIR)\$(NLM_NAME).nlm  $(INSTALL)\$(BASEDIR)\*.*
	-copy ABOUT_APACHE               $(INSTALL)\$(BASEDIR)\*.*
	-copy CHANGES                    $(INSTALL)\$(BASEDIR)\*.*
	-copy LICENSE                    $(INSTALL)\$(BASEDIR)\*.*
	-copy README                     $(INSTALL)\$(BASEDIR)\*.*
	-copy VERSIONING                 $(INSTALL)\$(BASEDIR)\*.*
	-copy STATUS                     $(INSTALL)\$(BASEDIR)\*.*
	-copy support\dbmmanage.in       $(INSTALL)\$(BASEDIR)\bin\dbmmanage.pl
	-copy support\logresolve.pl.in   $(INSTALL)\$(BASEDIR)\bin\logresolve.pl
	-copy support\split-logfile.in   $(INSTALL)\$(BASEDIR)\bin\split-logfile.pl
	-copy support\check_forensic     $(INSTALL)\$(BASEDIR)\bin\check_forensic.sh
	-copy docs\conf\magic            $(INSTALL)\$(BASEDIR)\conf\magic
	-copy docs\conf\mime.types       $(INSTALL)\$(BASEDIR)\conf\mime.types
	-copy docs\conf\charset.conv     $(INSTALL)\$(BASEDIR)\conf\charset.conv
	-copy docs\cgi-examples\printenv $(INSTALL)\$(BASEDIR)\cgi-bin\printenv.pl
	-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs\conf\httpd.conf.in >$(INSTALL)\$(BASEDIR)\conf\httpd.conf
	$(CHKNOT) $(INSTALL)\$(BASEDIR)\conf\extra\nul mkdir $(INSTALL)\$(BASEDIR)\conf\extra
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-autoindex.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-autoindex.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-dav.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-dav.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-default.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-default.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-info.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-info.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-languages.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-languages.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-manual.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-manual.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-mpm.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-mpm.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-multilang-errordoc.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-multilang-errordoc.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs\conf\extra\httpd-userdir.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-userdir.conf
	-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs\conf\extra\httpd-vhosts.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-vhosts.conf
	-$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs\conf\extra\httpd-ssl.conf.in >$(INSTALL)\$(BASEDIR)\conf\extra\httpd-ssl.conf
	@xcopy $(XCOPYSW) docs\error     $(INSTALL)\$(BASEDIR)\error
	@xcopy $(XCOPYSW) docs\docroot   $(INSTALL)\$(BASEDIR)\htdocs
	@xcopy $(XCOPYSW) docs\icons     $(INSTALL)\$(BASEDIR)\icons
	@xcopy $(XCOPYSW) docs\man       $(INSTALL)\$(BASEDIR)\man
	@xcopy $(XCOPYSW) docs\manual    $(INSTALL)\$(BASEDIR)\manual
	$(call COPY,$(OBJDIR)/$(NLM_NAME).nlm,   $(INSTALL)/$(BASEDIR)/)
	$(call COPY,ABOUT_APACHE,                $(INSTALL)/$(BASEDIR)/)
	$(call COPY,CHANGES,                     $(INSTALL)/$(BASEDIR)/)
	$(call COPY,LICENSE,                     $(INSTALL)/$(BASEDIR)/)
	$(call COPY,README,                      $(INSTALL)/$(BASEDIR)/)
	$(call COPY,VERSIONING,                  $(INSTALL)/$(BASEDIR)/)
	$(call COPY,STATUS,                      $(INSTALL)/$(BASEDIR)/)
	$(call COPY,support/dbmmanage.in,        $(INSTALL)/$(BASEDIR)/bin/dbmmanage.pl)
	$(call COPY,support/logresolve.pl.in,    $(INSTALL)/$(BASEDIR)/bin/logresolve.pl)
	$(call COPY,support/split-logfile.in,    $(INSTALL)/$(BASEDIR)/bin/split-logfile.pl)
	$(call COPY,support/check_forensic,      $(INSTALL)/$(BASEDIR)/bin/check_forensic.sh)
	$(call COPY,docs/conf/magic,             $(INSTALL)/$(BASEDIR)/conf/)
	$(call COPY,docs/conf/mime.types,        $(INSTALL)/$(BASEDIR)/conf/)
	$(call COPY,docs/conf/charset.conv,      $(INSTALL)/$(BASEDIR)/conf/)
	$(call COPY,docs/cgi-examples/printenv,  $(INSTALL)/$(BASEDIR)/cgi-bin/printenv.pl)
	-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -v SSLPORT=$(SSLPORT) -v MODSSL=$(WITH_MOD_SSL) -v BSDSKT=$(USE_STDSOCKETS) -f build\mkconfnw.awk docs/conf/httpd.conf.in >$(INSTALL)/$(BASEDIR)/conf\httpd.conf
	$(call MKDIR,$(INSTALL)/$(BASEDIR)/conf/extra)
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-autoindex.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-autoindex.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-dav.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-dav.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-default.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-default.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-info.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-info.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-languages.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-languages.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-manual.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-manual.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-mpm.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-mpm.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-multilang-errordoc.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-multilang-errordoc.conf
	-$(AWK) -v BDIR=$(BASEDIR) -f build\mkconfnw.awk docs/conf/extra/httpd-userdir.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-userdir.conf
	-$(AWK) -v BDIR=$(BASEDIR) -v PORT=$(PORT) -f build\mkconfnw.awk docs/conf/extra/httpd-vhosts.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-vhosts.conf
	-$(AWK) -v BDIR=$(BASEDIR) -v SSLPORT=$(SSLPORT) -f build\mkconfnw.awk docs/conf/extra/httpd-ssl.conf.in >$(INSTALL)/$(BASEDIR)/conf/extra/httpd-ssl.conf
	$(call COPYR,docs/docroot,               $(INSTALL)/$(BASEDIR)/htdocs)
	$(call COPYR,docs/error,                 $(INSTALL)/$(BASEDIR)/)
	$(call COPYR,docs/icons,                 $(INSTALL)/$(BASEDIR)/)
	$(call COPYR,docs/man,                   $(INSTALL)/$(BASEDIR)/)
	$(call COPYR,docs/manual,                $(INSTALL)/$(BASEDIR)/)

installdev :: FORCE
	-copy $(subst /,\,$(AP_WORK))\include\*.h  $(INSTALL)\$(BASEDIR)\include\*.*
	-copy $(subst /,\,$(NWOS))\*.h             $(INSTALL)\$(BASEDIR)\include\*.*
	-copy $(subst /,\,$(APR))\include\*.h      $(INSTALL)\$(BASEDIR)\include\*.*
	-copy $(subst /,\,$(APRUTIL))\include\*.h  $(INSTALL)\$(BASEDIR)\include\*.*
	-copy $(subst /,\,$(APR))\*.imp            $(INSTALL)\$(BASEDIR)\lib\*.*
	-copy $(subst /,\,$(NWOS))\*.imp           $(INSTALL)\$(BASEDIR)\lib\*.*
	-copy $(subst /,\,$(NWOS))\*.xdc           $(INSTALL)\$(BASEDIR)\lib\*.*
	$(call COPY,$(SRC)/include/*.h,          $(INSTALL)/$(BASEDIR)/include/)
	$(call COPY,$(NWOS)/*.h,                 $(INSTALL)/$(BASEDIR)/include/)
	$(call COPY,$(APR)/include/*.h,          $(INSTALL)/$(BASEDIR)/include/)
	$(call COPY,$(APRUTIL)/include/*.h,      $(INSTALL)/$(BASEDIR)/include/)
	$(call COPY,$(APR)/*.imp,                $(INSTALL)/$(BASEDIR)/lib/)
	$(call COPY,$(NWOS)/*.imp,               $(INSTALL)/$(BASEDIR)/lib/)
	$(call COPY,$(NWOS)/*.xdc,               $(INSTALL)/$(BASEDIR)/lib/)

prebuild :: FORCE
	$(MAKE) -C $(SERVER) -f NWGNUmakefile
	$(MAKE) -C $(PCRE) -f NWGNUmakefile
	$(CHKNOT) $(subst /,\,$(PREBUILD_INST))\nul mkdir $(subst /,\,$(PREBUILD_INST))
	-copy $(AP_WORK)\server\$(OBJDIR)\*.nlm $(PREBUILD_INST)\*.*
	-copy $(PCRE)\$(basename $(OBJDIR))\*.nlm $(PREBUILD_INST)\*.*
	$(call MKDIR,$(PREBUILD_INST))
	$(call COPY,$(SERVER)/$(OBJDIR)/*.nlm,   $(PREBUILD_INST)/)
	$(call COPY,$(PCRE)/$(OBJDIR)/*.nlm,     $(PREBUILD_INST)/)

#
# Any specialized rules here
@@ -453,8 +453,8 @@ vpath %.c modules/core:os/netware:server/mpm/netware:$(PCRE)
# in this makefile
#

include $(AP_WORK)\build\NWGNUtail.inc
include $(APBUILD)/NWGNUtail.inc

include $(AP_WORK)\build\NWGNUscripts.inc
include $(APBUILD)/NWGNUscripts.inc

+72 −63
Changes for build/NWGNUenvironment.inc: 72 added lines, 63 removed lines.
Original line number Diff line number Diff line
@@ -118,6 +118,9 @@ endif

OBJDIR = obj_$(RELEASE)

# Define minimum APR version to check for
APR_WANTED = 1004000

#
# Setup compiler information
#
@@ -131,9 +134,36 @@ WIN_CC = mwcc

# Setup build tools
AWK	= awk
SORT	= sort

# Define minimum APR version to check for
APR_WANTED = 1004000
#
# Declare Command and tool macros here
#

ifeq ($(findstring /sh,$(SHELL)),/sh)
DEL	= rm -f $1
RMDIR	= rm -rf $1
MKDIR	= mkdir -p $1
COPY	= cp -av $1 $2
COPYR	= cp -ar $1 $2
ECHONL	= echo ""
DL	= '
CAT	= cat
else
ifeq "$(OS)" "Windows_NT"
DEL	= $(shell if exist $(subst /,\,$1) del /q /f 2>NUL $(subst /,\,$1))
RMDIR	= $(shell if exist $(subst /,\,$1)\NUL rd /q /s 2>NUL $(subst /,\,$1))
ECHONL	= cmd /c echo.
else
DEL	= $(shell if exist $(subst /,\,$1) del 2>NUL $(subst /,\,$1))
RMDIR	= $(shell if exist $(subst /,\,$1)\NUL deltree /y 2>NUL $(subst /,\,$1))
ECHONL	= command /c echo.
endif
MKDIR	= $(shell if not exist $(subst /,\,$1)\NUL md 2>NUL $(subst /,\,$1))
COPY	= copy /y 2>NUL $(subst /,\,$1) $(subst /,\,$2)
COPYR	= xcopy /y /e 2>NUL $(subst /,\,$1) $(subst /,\,$2)
CAT	= type
endif

ifdef IPV6
ifndef USE_STDSOCKETS
@@ -141,17 +171,23 @@ USE_STDSOCKETS=1
endif
endif

NOVI	= $(NOVELLLIBC)\imports
NOVI	= $(NOVELLLIBC)/imports

INCDIRS	= $(NOVELLLIBC)\include;$(NOVELLLIBC)\include\nks;$(NOVELLLIBC)\include\winsock;
INCDIRS	= $(NOVELLLIBC)/include;
ifndef USE_STDSOCKETS
INCDIRS	+= $(NOVELLLIBC)/include/winsock;
endif
ifneq "$(LDAPSDK)" ""
INCDIRS := $(INCDIRS);$(LDAPSDK)/inc
#INCDIRS := $(INCDIRS);$(LDAPSDK)/inc
INCDIRS += $(LDAPSDK)/inc;
endif
ifneq "$(ZLIBSDK)" ""
INCDIRS := $(INCDIRS);$(ZLIBSDK)
#INCDIRS := $(INCDIRS);$(ZLIBSDK)
INCDIRS += $(ZLIBSDK);
endif
ifneq "$(PCRESRC)" ""
INCDIRS := $(INCDIRS);$(PCRESRC)
#INCDIRS := $(INCDIRS);$(PCRESRC)
INCDIRS += $(PCRESRC);
endif

DEFINES	= -DNETWARE 
@@ -169,9 +205,9 @@ VERSION_SKT = (WINSOCK)
endif

# MetroWerks static Libraries
CLIB3S	= $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime\mwcrtl.lib
CLIB3S	= $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime/mwcrtl.lib
MATH3S	=
PLIB3S	= $(METROWERKS)\Novell Support\Metrowerks Support\Libraries\MSL C++\MWCPP.lib
PLIB3S	= $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib

# MetroWerks Win32 build flags to create build tool
MWCW_MSL   = "$(METROWERKS)/MSL"
@@ -217,7 +253,9 @@ endif
CFLAGS += -prefix pre_nw.h


ifneq ($(findstring /sh,$(SHELL)),/sh)
PATH:=$(PATH);$(METROWERKS)\bin;$(METROWERKS)\Other Metrowerks Tools\Command Line Tools
endif

#
# Declare major project deliverables output directories here
@@ -238,8 +276,8 @@ endif
endif

ifndef INSTALL
INSTALL = $(AP_WORK)\Dist
INSTDIRS = $(AP_WORK)\Dist
INSTALL = $(AP_WORK)/Dist
INSTDIRS = $(AP_WORK)/Dist
endif

ifndef BASEDIR
@@ -276,69 +314,40 @@ endif

INSTDEVDIRS := \
	$(INSTDIRS) \
	$(INSTALL)\$(BASEDIR)\include \
	$(INSTALL)\$(BASEDIR)\lib \
	$(INSTALL)/$(BASEDIR)/include \
	$(INSTALL)/$(BASEDIR)/lib \

INSTDIRS += \
	$(INSTALL)\$(BASEDIR) \
	$(INSTALL)\$(BASEDIR)\bin \
	$(INSTALL)\$(BASEDIR)\cgi-bin \
	$(INSTALL)\$(BASEDIR)\conf \
	$(INSTALL)\$(BASEDIR)\error \
	$(INSTALL)\$(BASEDIR)\htdocs \
	$(INSTALL)\$(BASEDIR)\icons \
	$(INSTALL)\$(BASEDIR)\logs \
	$(INSTALL)\$(BASEDIR)\man \
	$(INSTALL)\$(BASEDIR)\manual \
	$(INSTALL)\$(BASEDIR)\modules \

#
# Declare Command and tool macros here
#

# Os2LibPath is an extra check to see if we are on NT
ifdef Os2LibPath
OS = Windows_NT
endif

ifeq "$(OS)" "Windows_NT"
CMD = cmd /C
DEL = del /F
DELTREE = rd /s/q
WINNT = 1
XCOPYSW = /E
else
CMD = command /C
DEL = del
DELTREE = deltree /y
XCOPYSW = /E /Y
endif

CHK = $(CMD) if exist
CHKNOT = $(CMD) if not exist


#
# Setup base C compiler flags
#
	$(INSTALL)/$(BASEDIR) \
	$(INSTALL)/$(BASEDIR)/bin \
	$(INSTALL)/$(BASEDIR)/cgi-bin \
	$(INSTALL)/$(BASEDIR)/conf \
	$(INSTALL)/$(BASEDIR)/error \
	$(INSTALL)/$(BASEDIR)/htdocs \
	$(INSTALL)/$(BASEDIR)/icons \
	$(INSTALL)/$(BASEDIR)/logs \
	$(INSTALL)/$(BASEDIR)/man \
	$(INSTALL)/$(BASEDIR)/manual \
	$(INSTALL)/$(BASEDIR)/modules \

#
# Common directories
#

STDMOD		= $(AP_WORK)/modules
NWOS		= $(AP_WORK)/os/netware
SERVER		= $(AP_WORK)/server
SRC		= $(AP_WORK)
SRC		= $(subst \,/,$(AP_WORK))
APBUILD		= $(SRC)/build
STDMOD		= $(SRC)/modules
HTTPD		= $(SRC)/modules/http
NWOS		= $(SRC)/os/netware
SERVER		= $(SRC)/server
SUPMOD		= $(SRC)/support
APR		= $(APR_WORK)
APRUTIL		= $(APU_WORK)
APULDAP		= $(APU_WORK)/ldap
SUPMOD		= $(AP_WORK)/support
PCRE		= $(PCRESRC)
APRTEST		= $(APR_WORK)/test
HTTPD		= $(AP_WORK)/modules/http
XML		= $(APU_WORK)/xml
PREBUILD_INST   = $(AP_WORK)/nwprebuild
APRTEST		= $(APR_WORK)/test
PCRE		= $(PCRESRC)
PREBUILD_INST   = $(SRC)/nwprebuild

#
# Internal Libraries
+34 −37
Changes for build/NWGNUhead.inc: 34 added lines, 37 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@
# Obtain the global build environment
#

include $(AP_WORK)\build\NWGNUenvironment.inc
include $(AP_WORK)/build/NWGNUenvironment.inc

#
# Define base targets and rules
@@ -26,7 +26,7 @@ install :: NO_LICENSE_FILE
installdev :: NO_LICENSE_FILE

NO_LICENSE_FILE :
	$(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)\license.dat"
	$(MAKE) $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(METROWERKS)/license.dat"

else # LM_LICENSE_FILE must be defined so use the real targets

@@ -41,41 +41,40 @@ install :: nlms $(INSTDIRS)
installdev :: $(INSTDEVDIRS)

$(INSTDIRS) ::
	$(CHKNOT) $@\NUL mkdir $@
	$(call MKDIR,$@)

$(INSTDEVDIRS) ::
	$(CHKNOT) $@\NUL mkdir $@
	$(call MKDIR,$@)

endif #NO_LICENSE_FILE check

help :
	@echo targets for RELEASE=$(RELEASE):
	@echo (default) . . . . libs nlms
	@echo all . . . . . . . does everything (libs nlms install)
	@echo libs. . . . . . . builds all libs
	@echo nlms. . . . . . . builds all nlms
	@echo install . . . . . builds libs and nlms and copies install files to
	@echo                   "$(INSTALL)"
	@echo installdev. . . . copies headers and files needed for development to
	@echo                   "$(INSTALL)"
	@echo clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map
	@echo clobber_all . . . deletes all possible output from the make
	@echo clobber_install . deletes all files in $(INSTALL)
	@$(CMD) echo.
	@echo Multiple targets can be used on a single nmake command line -
	@echo (i.e. $(MAKE) clean all)
	@$(CMD) echo.
	@echo You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized
	@echo The default is RELEASE=optimized
	@echo $(DL)targets for RELEASE=$(RELEASE):
	@echo $(DL)(default) . . . . libs nlms$(DL)
	@echo $(DL)all . . . . . . . does everything (libs nlms install)$(DL)
	@echo $(DL)libs. . . . . . . builds all libs$(DL)
	@echo $(DL)nlms. . . . . . . builds all nlms$(DL)
	@echo $(DL)install . . . . . builds libs and nlms and copies install files to$(DL)
	@echo $(DL)                  "$(INSTALL)"$(DL)
	@echo $(DL)installdev. . . . copies headers and files needed for development to$(DL)
	@echo $(DL)                  "$(INSTALL)"$(DL)
	@echo $(DL)clean . . . . . . deletes $(OBJDIR) dirs, *.err, and *.map$(DL)
	@echo $(DL)clobber_all . . . deletes all possible output from the make$(DL)
	@echo $(DL)clobber_install . deletes all files in $(INSTALL)$(DL)
	@$(ECHONL)
	@echo $(DL)Multiple targets can be used on a single nmake command line -$(DL)
	@echo $(DL)(i.e. $(MAKE) clean all)$(DL)
	@$(ECHONL)
	@echo $(DL)You can also specify RELEASE=debug, RELEASE=noopt, or RELEASE=optimized$(DL)
	@echo $(DL)The default is RELEASE=optimized$(DL)

clobber_all :: clean clobber_install clobber_prebuild

clobber_install ::
	-$(DELTREE) $(INSTALL) 2>NUL
	$(call RMDIR,$(INSTALL))
        
clobber_prebuild ::
	$(CHK) $(PREBUILD_INST)\*.* $(DEL) $(PREBUILD_INST)\*.*
	-$(DELTREE) $(PREBUILD_INST) 2> NUL
	$(call RMDIR,$(PREBUILD_INST))

#
# build recursive targets
@@ -83,11 +82,11 @@ clobber_prebuild ::

$(SUBDIRS) : FORCE
ifneq "$(MAKECMDGOALS)" "clean"
	$(CMD) echo.
	@echo Building $(CURDIR)/$@
	@$(ECHONL)
	@echo $(DL)Building $(CURDIR)/$@$(DL)
endif
	$(MAKE) -C $@ $(MAKECMDGOALS) -f NWGNUmakefile RELEASE=$(RELEASE) DEST="$(INSTALL)" LM_LICENSE_FILE="$(LM_LICENSE_FILE)"
	$(CMD) echo.
	@$(ECHONL)

FORCE:

@@ -96,15 +95,13 @@ FORCE:
#

clean :: $(SUBDIRS)
	@echo Cleaning up $(CURDIR)
	-$(DELTREE) $(OBJDIR) 2> NUL
	$(CHK) *.err $(DEL) *.err
	$(CHK) *.map $(DEL) *.map
	$(CHK) *.dep $(DEL) *.dep
	$(CHK) *.tmp $(DEL) *.tmp
	$(CHK) xc.bat $(DEL) xc.bat
	-$(DELTREE) $(OBJDIR) 2> NUL
	@echo $(DL)Cleaning up $(CURDIR)$(DL)
	$(call RMDIR,$(OBJDIR))
	$(call DEL,*.err)
	$(call DEL,*.map)
	$(call DEL,*.tmp)
#	$(call DEL,*.d)

$(OBJDIR) ::
	$(CHKNOT) $(OBJDIR)\nul mkdir $(OBJDIR)
	$(call MKDIR,$@)
+45 −46
Changes for build/NWGNUmakefile: 45 added lines, 46 removed lines.
Original line number Diff line number Diff line
@@ -25,54 +25,53 @@ FILES_prebuild_headers = \
nlms :: chkapr $(NWOS)/httpd.imp $(NWOS)/chartables.c

$(NWOS)/httpd.imp : make_nw_export.awk nw_export.i
	@echo Generating $(subst /,\,$@)
	$(AWK) -v EXPPREFIX=AP$(VERSION_MAJMIN) -f $^ | sort >$@
	@echo $(DL)GEN  $@$(DL)
	$(AWK) -v EXPPREFIX=AP$(VERSION_MAJMIN) -f $^ | $(SORT) >$@
    
nw_export.i : nw_export.inc $(FILES_prebuild_headers) cc.opt
	@echo Generating $(subst /,\,$@)
	@echo $(DL)GEN  $@$(DL)
	$(CC) $< @cc.opt

cc.opt : NWGNUmakefile $(AP_WORK)\build\NWGNUenvironment.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUhead.inc
	$(CHK) $@ $(DEL) $@
	@echo -P >> $@
	@echo -EP >> $@
	@echo -nosyspath >> $@
	@echo -w nocmdline >> $@
	@echo $(DEFINES) >> $@
	@echo -I..\include >> $@
	@echo -I..\modules\http >> $@
	@echo -I..\modules\aaa >> $@
	@echo -I..\modules\core >> $@
	@echo -I..\os\netware >> $@
	@echo -I..\server\mpm\netware >> $@
	@echo -I$(APR)\include >> $@
	@echo -I$(APRUTIL)\include >> $@
	@echo -ir $(NOVELLLIBC) >> $@

$(PCRE)/%.h: $(subst /,\,$(PCRE))\%.h.generic
	@echo Creating $(subst /,\,$@)
	copy $< $(subst /,\,$(PCRE))\$(@F)

$(PCRE)/%.h: $(subst /,\,$(PCRE))\%.hw
	@echo Creating $(subst /,\,$@)
	copy $< $(subst /,\,$(PCRE))\$(@F)
cc.opt : NWGNUmakefile $(APBUILD)/NWGNUenvironment.inc $(APBUILD)/NWGNUtail.inc $(APBUILD)/NWGNUhead.inc
	@echo $(DL)-P$(DL)> $@
	@echo $(DL)-EP$(DL)>> $@
	@echo $(DL)-nosyspath$(DL)>> $@
	@echo $(DL)-w nocmdline$(DL)>> $@
	@echo $(DL)$(DEFINES)$(DL)>> $@
	@echo $(DL)-I$(SRC)/include$(DL)>> $@
	@echo $(DL)-I$(HTTPD)$(DL)>> $@
	@echo $(DL)-I$(STDMOD)/aaa$(DL)>> $@
	@echo $(DL)-I$(STDMOD)/core$(DL)>> $@
	@echo $(DL)-I$(NWOS)$(DL)>> $@
	@echo $(DL)-I$(SERVER)/mpm/netware$(DL)>> $@
	@echo $(DL)-I$(APR)/include$(DL)>> $@
	@echo $(DL)-I$(APRUTIL)/include$(DL)>> $@
	@echo $(DL)-ir $(NOVELLLIBC)$(DL)>> $@

$(PCRE)/%.h: $(PCRE)/%.h.generic
	@echo Creating $@
	$(call COPY,$<,$@)

$(PCRE)/%.h: $(PCRE)/%.hw
	@echo Creating $@
	$(call COPY,$<,$@)

ifneq "$(BUILDTOOL_AS_NLM)" "1"

$(NWOS)/chartables.c: dftables.exe $(PCRE)/dftables.c $(FILES_prebuild_headers)
	@echo Creating $(subst /,\,$@)
	@echo $(DL)GEN  $@$(DL)
	@$< $@

%.exe: $(PCRE)/%.c
	@echo Creating Build Helper $@
	@echo $(DL)Creating Build Helper $@$(DL)
	@$(WIN_CC) $(WIN_CFLAGS) -DHAVE_CONFIG_H $< -o $@

$(NWOS)/test_char.h: gen_test_char.exe $(AP_WORK)/server/gen_test_char.c
	@echo Creating $(subst /,\,$@)
$(NWOS)/test_char.h: gen_test_char.exe $(SERVER)/gen_test_char.c
	@echo $(DL)GEN  $@$(DL)
	@$< > $@

%.exe: $(AP_WORK)/server/%.c
	@echo Creating Build Helper $@
%.exe: $(SERVER)/%.c
	@echo $(DL)Creating Build Helper $@$(DL)
	@$(WIN_CC) $(WIN_CFLAGS) -DCROSS_COMPILE $< -o $@

else
@@ -90,8 +89,8 @@ endif
#
# Check for minimum APR version
#
chkapr: $(APR)\build\nw_ver.awk $(APR)\include\apr_version.h
	@echo Checking for APR version...
chkapr: $(APR)/build/nw_ver.awk $(APR)/include/apr_version.h
	@echo $(DL)Checking for APR version...$(DL)
	@$(AWK) -v WANTED=$(APR_WANTED) -f $^

#
@@ -101,17 +100,17 @@ chkapr: $(APR)\build\nw_ver.awk $(APR)\include\apr_version.h
install :: nlms FORCE

clean ::
	$(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
	$(CHK) nw_export.i                                 $(DEL) nw_export.i
	$(CHK) cc.opt                                      $(DEL) cc.opt
	$(CHK) NWGNUversion.inc                            $(DEL) NWGNUversion.inc
	$(call DEL,$(PCRE)/config.h)
	$(call DEL,$(PCRE)/pcre.h)
	$(call DEL,$(NWOS)/httpd.imp)
	$(call DEL,nw_export.i)
	$(call DEL,cc.opt)
	$(call DEL,NWGNUversion.inc)
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
	$(call DEL,$(NWOS)/chartables.c)
	$(call DEL,$(NWOS)/test_char.h)
	$(call DEL,dftables.exe)
	$(call DEL,gen_test_char.exe)
endif

#
@@ -119,5 +118,5 @@ endif
# in this makefile
#

include $(AP_WORK)/build/NWGNUtail.inc
include $(APBUILD)/NWGNUtail.inc
    
+131 −118

File changed.

Preview size limit exceeded, changes collapsed.

Loading