You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by bn...@apache.org on 2002/03/01 23:19:56 UTC

cvs commit: httpd-2.0/build NWGNUtail.inc

bnicholes    02/03/01 14:19:56

  Added:       modules/mappers NWGNUvhost
               modules/metadata NWGNUusertrk NWGNUuniqueid
               build    NWGNUtail.inc
  Log:
  Switching from a project build file to GNU make files
  
  Revision  Changes    Path
  1.1                  httpd-2.0/modules/mappers/NWGNUvhost
  
  Index: NWGNUvhost
  ===================================================================
  #
  # Make sure all needed macro's are defined
  #
  
  #
  # Get the 'head' of the build environment if necessary.  This includes default
  # targets and paths to tools
  #
  
  ifndef EnvironmentDefined
  include $(AP_WORK)\build\NWGNUhead.inc
  endif
  
  #
  # These directories will be at the beginning of the include list, followed by
  # INCDIRS
  #
  XINCDIRS	+= \
  			$(AP_WORK)/include \
  			$(NWOS) \
  			$(AP_WORK)/modules/arch/netware \
  			$(AP_WORK)/srclib/apr/include \
  			$(AP_WORK)/srclib/apr-util/include \
  			$(AP_WORK)/srclib/apr \
  			$(EOLIST)
  
  #
  # These flags will come after CFLAGS
  #
  XCFLAGS		+= \
  			$(EOLIST)
  
  #
  # These defines will come after DEFINES
  #
  XDEFINES	+= \
  			$(EOLIST)
  
  #
  # These flags will be added to the link.opt file
  #
  XLFLAGS		+= \
  			$(EOLIST)
  
  #
  # These values will be appended to the correct variables based on the value of
  # RELEASE
  #
  ifeq "$(RELEASE)" "debug"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "noopt"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "release"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  			$(EOLIST)
  endif
  
  #
  # These are used by the link target if an NLM is being generated
  # This is used by the link 'name' directive to name the nlm.  If left blank
  # TARGET_nlm (see below) will be used.
  #
  NLM_NAME		= vhost
  
  #
  # This is used by the link '-desc ' directive. 
  # If left blank, NLM_NAME will be used.
  #
  NLM_DESCRIPTION	= Vhost Alias Module
  
  #
  # This is used by the '-threadname' directive.  If left blank,
  # NLM_NAME Thread will be used.
  #
  NLM_THREAD_NAME	= Vhost Alias Module
  
  #
  # If this is specified, it will override VERSION value in 
  # $(AP_WORK)\build\NWGNUenvironment.inc
  #
  NLM_VERSION		=
  
  #
  # If this is specified, it will override the default of 64K
  #
  NLM_STACK_SIZE	= 8192
  
  
  #
  # If this is specified it will be used by the link '-entry' directive
  #
  NLM_ENTRY_SYM	= _LibCPrelude
  
  #
  # If this is specified it will be used by the link '-exit' directive
  #
  NLM_EXIT_SYM	= _LibCPostlude
  
  #
  # If this is specified it will be used by the link '-check' directive
  #
  NLM_CHECK_SYM	=
  
  #
  # If these are specified it will be used by the link '-flags' directive
  #
  NLM_FLAGS		=  AUTOUNLOAD, PSEUDOPREEMPTION
  
  #
  # If this is specified it will be linked in with the XDCData option in the def 
  # file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
  # by setting APACHE_UNIPROC in the environment
  #
  XDCDATA         = 
  
  #
  # If there is an NLM target, put it here
  #
  TARGET_nlm = \
  	$(OBJDIR)/vhost.nlm \
  	$(EOLIST)
  
  #
  # If there is an LIB target, put it here
  #
  TARGET_lib = \
  	$(EOLIST)
  
  #
  # These are the OBJ files needed to create the NLM target above.
  # Paths must all use the '/' character
  #
  FILES_nlm_objs = \
  	$(OBJDIR)/mod_vhost_alias.o \
  	$(EOLIST)
  
  #
  # These are the LIB files needed to create the NLM target above.
  # These will be added as a library command in the link.opt file.
  #
  FILES_nlm_libs = \
     	libcpre.o \
  	$(EOLIST)
  
  #
  # These are the modules that the above NLM target depends on to load.
  # These will be added as a module command in the link.opt file.
  #
  FILES_nlm_modules = \
  	aprlib \
  	libc \
  	$(EOLIST)
  
  #
  # If the nlm has a msg file, put it's path here
  #
  FILE_nlm_msg =
   
  #
  # If the nlm has a hlp file put it's path here
  #
  FILE_nlm_hlp =
  
  #
  # If this is specified, it will override $(NWOS)\copyright.txt.
  #
  FILE_nlm_copyright =
  
  #
  # Any additional imports go here
  #
  FILES_nlm_Ximports = \
  	@$(APR)/aprlib.imp \
  	@$(NWOS)/httpd.imp \
  	@libc.imp \
  	$(EOLIST)
   
  #   
  # Any symbols exported to here
  #
  FILES_nlm_exports = \
  	vhost_alias_module \
  	$(EOLIST)
  	
  #   
  # These are the OBJ files needed to create the LIB target above.
  # Paths must all use the '/' character
  #
  FILES_lib_objs = \
  		$(EOLIST)
  
  #
  # implement targets and dependancies (leave this section alone)
  #
  
  libs :: $(OBJDIR) $(TARGET_lib)
  
  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)
  #
  install :: nlms FORCE
  
  #
  # Any specialized rules here
  #
  
  #
  # Include the 'tail' makefile that has targets that depend on variables defined
  # in this makefile
  #
  
  include $(AP_WORK)\build\NWGNUtail.inc
  
  
  
  
  1.1                  httpd-2.0/modules/metadata/NWGNUusertrk
  
  Index: NWGNUusertrk
  ===================================================================
  #
  # Make sure all needed macro's are defined
  #
  
  #
  # Get the 'head' of the build environment if necessary.  This includes default
  # targets and paths to tools
  #
  
  ifndef EnvironmentDefined
  include $(AP_WORK)\build\NWGNUhead.inc
  endif
  
  #
  # These directories will be at the beginning of the include list, followed by
  # INCDIRS
  #
  XINCDIRS	+= \
  			$(AP_WORK)/include \
  			$(NWOS) \
  			$(AP_WORK)/modules/arch/netware \
  			$(AP_WORK)/srclib/apr/include \
  			$(AP_WORK)/srclib/apr-util/include \
  			$(AP_WORK)/srclib/apr \
  			$(EOLIST)
  
  #
  # These flags will come after CFLAGS
  #
  XCFLAGS		+= \
  			-prefix pre_nw.h \
  			$(EOLIST)
  
  #
  # These defines will come after DEFINES
  #
  XDEFINES	+= \
  			$(EOLIST)
  
  #
  # These flags will be added to the link.opt file
  #
  XLFLAGS		+= \
  			$(EOLIST)
  
  #
  # These values will be appended to the correct variables based on the value of
  # RELEASE
  #
  ifeq "$(RELEASE)" "debug"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "noopt"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "release"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  			$(EOLIST)
  endif
  
  #
  # These are used by the link target if an NLM is being generated
  # This is used by the link 'name' directive to name the nlm.  If left blank
  # TARGET_nlm (see below) will be used.
  #
  NLM_NAME		= usertrk
  
  #
  # This is used by the link '-desc ' directive. 
  # If left blank, NLM_NAME will be used.
  #
  NLM_DESCRIPTION	= User Track Module
  
  #
  # This is used by the '-threadname' directive.  If left blank,
  # NLM_NAME Thread will be used.
  #
  NLM_THREAD_NAME	= User Track Module
  
  #
  # If this is specified, it will override VERSION value in 
  # $(AP_WORK)\build\NWGNUenvironment.inc
  #
  NLM_VERSION		=
  
  #
  # If this is specified, it will override the default of 64K
  #
  NLM_STACK_SIZE	= 8192
  
  
  #
  # If this is specified it will be used by the link '-entry' directive
  #
  NLM_ENTRY_SYM	= _LibCPrelude
  
  #
  # If this is specified it will be used by the link '-exit' directive
  #
  NLM_EXIT_SYM	= _LibCPostlude
  
  #
  # If this is specified it will be used by the link '-check' directive
  #
  NLM_CHECK_SYM	=
  
  #
  # If these are specified it will be used by the link '-flags' directive
  #
  NLM_FLAGS		=  AUTOUNLOAD, PSEUDOPREEMPTION
  
  #
  # If this is specified it will be linked in with the XDCData option in the def 
  # file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
  # by setting APACHE_UNIPROC in the environment
  #
  XDCDATA         = 
  
  #
  # If there is an NLM target, put it here
  #
  TARGET_nlm = \
  	$(OBJDIR)/usertrk.nlm \
  	$(EOLIST)
  
  #
  # If there is an LIB target, put it here
  #
  TARGET_lib = \
  	$(EOLIST)
  
  #
  # These are the OBJ files needed to create the NLM target above.
  # Paths must all use the '/' character
  #
  FILES_nlm_objs = \
  	$(OBJDIR)/mod_usertrack.o \
  	$(EOLIST)
  
  #
  # These are the LIB files needed to create the NLM target above.
  # These will be added as a library command in the link.opt file.
  #
  FILES_nlm_libs = \
     	libcpre.o \
  	$(EOLIST)
  
  #
  # These are the modules that the above NLM target depends on to load.
  # These will be added as a module command in the link.opt file.
  #
  FILES_nlm_modules = \
  	aprlib \
  	libc \
  	$(EOLIST)
  
  #
  # If the nlm has a msg file, put it's path here
  #
  FILE_nlm_msg =
   
  #
  # If the nlm has a hlp file put it's path here
  #
  FILE_nlm_hlp =
  
  #
  # If this is specified, it will override $(NWOS)\copyright.txt.
  #
  FILE_nlm_copyright =
  
  #
  # Any additional imports go here
  #
  FILES_nlm_Ximports = \
  	@$(APR)/aprlib.imp \
  	@$(NWOS)/httpd.imp \
  	@libc.imp \
  	$(EOLIST)
   
  #   
  # Any symbols exported to here
  #
  FILES_nlm_exports = \
  	usertrack_module \
  	$(EOLIST)
  	
  #   
  # These are the OBJ files needed to create the LIB target above.
  # Paths must all use the '/' character
  #
  FILES_lib_objs = \
  		$(EOLIST)
  
  #
  # implement targets and dependancies (leave this section alone)
  #
  
  libs :: $(OBJDIR) $(TARGET_lib)
  
  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)
  #
  install :: nlms FORCE
  
  #
  # Any specialized rules here
  #
  
  #
  # Include the 'tail' makefile that has targets that depend on variables defined
  # in this makefile
  #
  
  include $(AP_WORK)\build\NWGNUtail.inc
  
  
  
  
  1.1                  httpd-2.0/modules/metadata/NWGNUuniqueid
  
  Index: NWGNUuniqueid
  ===================================================================
  #
  # Make sure all needed macro's are defined
  #
  
  #
  # Get the 'head' of the build environment if necessary.  This includes default
  # targets and paths to tools
  #
  
  ifndef EnvironmentDefined
  include $(AP_WORK)\build\NWGNUhead.inc
  endif
  
  #
  # These directories will be at the beginning of the include list, followed by
  # INCDIRS
  #
  XINCDIRS	+= \
  			$(AP_WORK)/include \
  			$(NWOS) \
  			$(AP_WORK)/modules/arch/netware \
  			$(AP_WORK)/srclib/apr/include \
  			$(AP_WORK)/srclib/apr-util/include \
  			$(AP_WORK)/srclib/apr \
  			$(EOLIST)
  
  #
  # These flags will come after CFLAGS
  #
  XCFLAGS		+= \
  			-prefix pre_nw.h \
  			$(EOLIST)
  
  #
  # These defines will come after DEFINES
  #
  XDEFINES	+= \
  			$(EOLIST)
  
  #
  # These flags will be added to the link.opt file
  #
  XLFLAGS		+= \
  			$(EOLIST)
  
  #
  # These values will be appended to the correct variables based on the value of
  # RELEASE
  #
  ifeq "$(RELEASE)" "debug"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "noopt"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  		   	$(EOLIST)
  endif
  
  ifeq "$(RELEASE)" "release"
  XINCDIRS	+= \
  			$(EOLIST)
  
  XCFLAGS		+= \
  			$(EOLIST)
  
  XDEFINES	+= \
  			$(EOLIST)
  
  XLFLAGS		+= \
  			$(EOLIST)
  endif
  
  #
  # These are used by the link target if an NLM is being generated
  # This is used by the link 'name' directive to name the nlm.  If left blank
  # TARGET_nlm (see below) will be used.
  #
  NLM_NAME		= uniqueid
  
  #
  # This is used by the link '-desc ' directive. 
  # If left blank, NLM_NAME will be used.
  #
  NLM_DESCRIPTION	= Unique ID Module
  
  #
  # This is used by the '-threadname' directive.  If left blank,
  # NLM_NAME Thread will be used.
  #
  NLM_THREAD_NAME	= Unique ID Module
  
  #
  # If this is specified, it will override VERSION value in 
  # $(AP_WORK)\build\NWGNUenvironment.inc
  #
  NLM_VERSION		=
  
  #
  # If this is specified, it will override the default of 64K
  #
  NLM_STACK_SIZE	= 8192
  
  
  #
  # If this is specified it will be used by the link '-entry' directive
  #
  NLM_ENTRY_SYM	= _LibCPrelude
  
  #
  # If this is specified it will be used by the link '-exit' directive
  #
  NLM_EXIT_SYM	= _LibCPostlude
  
  #
  # If this is specified it will be used by the link '-check' directive
  #
  NLM_CHECK_SYM	=
  
  #
  # If these are specified it will be used by the link '-flags' directive
  #
  NLM_FLAGS		=  AUTOUNLOAD, PSEUDOPREEMPTION
  
  #
  # If this is specified it will be linked in with the XDCData option in the def 
  # file instead of the default of $(NWOS)/apache.xdc.  XDCData can be disabled
  # by setting APACHE_UNIPROC in the environment
  #
  XDCDATA         = 
  
  #
  # If there is an NLM target, put it here
  #
  TARGET_nlm = \
  	$(OBJDIR)/uniqueid.nlm \
  	$(EOLIST)
  
  #
  # If there is an LIB target, put it here
  #
  TARGET_lib = \
  	$(EOLIST)
  
  #
  # These are the OBJ files needed to create the NLM target above.
  # Paths must all use the '/' character
  #
  FILES_nlm_objs = \
  	$(OBJDIR)/mod_unique_id.o \
  	$(OBJDIR)/libprews.o \
  	$(EOLIST)
  
  #
  # These are the LIB files needed to create the NLM target above.
  # These will be added as a library command in the link.opt file.
  #
  FILES_nlm_libs = \
     	libcpre.o \
  	$(EOLIST)
  
  #
  # These are the modules that the above NLM target depends on to load.
  # These will be added as a module command in the link.opt file.
  #
  FILES_nlm_modules = \
  	aprlib \
  	libc \
  	$(EOLIST)
  
  #
  # If the nlm has a msg file, put it's path here
  #
  FILE_nlm_msg =
   
  #
  # If the nlm has a hlp file put it's path here
  #
  FILE_nlm_hlp =
  
  #
  # If this is specified, it will override $(NWOS)\copyright.txt.
  #
  FILE_nlm_copyright =
  
  #
  # Any additional imports go here
  #
  FILES_nlm_Ximports = \
  	@$(APR)/aprlib.imp \
  	@$(NWOS)/httpd.imp \
  	@libc.imp \
  	@ws2nlm.imp \
  	$(EOLIST)
   
  #   
  # Any symbols exported to here
  #
  FILES_nlm_exports = \
  	unique_id_module \
  	$(EOLIST)
  	
  #   
  # These are the OBJ files needed to create the LIB target above.
  # Paths must all use the '/' character
  #
  FILES_lib_objs = \
  		$(EOLIST)
  
  #
  # implement targets and dependancies (leave this section alone)
  #
  
  libs :: $(OBJDIR) $(TARGET_lib)
  
  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)
  #
  install :: nlms FORCE
  
  #
  # Any specialized rules here
  #
  
  $(OBJDIR)/%.o: ../arch/netware/%.c $(OBJDIR)\cc.opt
  	@echo compiling $<
  	$(CC) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cc.opt
  
  #
  # Include the 'tail' makefile that has targets that depend on variables defined
  # in this makefile
  #
  
  include $(AP_WORK)\build\NWGNUtail.inc
  
  
  
  
  1.1                  httpd-2.0/build/NWGNUtail.inc
  
  Index: NWGNUtail.inc
  ===================================================================
  #
  # This contains final targets and should be included at the end of any
  # NWGNUmakefile file
  #
  
  #
  # If we are going to create an nlm, make sure we have assigned variables to 
  # use during the link.
  #
  echo NLM_NAME=$(NLM_NAME)
  ifndef NLM_NAME
  NLM_NAME = $(TARGET_nlm)
  endif
  
  ifndef NLM_DESCRIPTION
  NLM_DESCRIPTION = $(NLM_NAME)
  endif
  
  ifndef NLM_THREAD_NAME
  NLM_THREAD_NAME = $(NLM_NAME) Thread
  endif
  
  #
  # Create dependency lists based on the files available
  #
  
  CCOPT_DEPENDS 	= \
  				$(AP_WORK)\build\NWGNUhead.inc \
  				$(AP_WORK)\build\NWGNUenvironment.inc \
  				$(AP_WORK)\build\NWGNUtail.inc \
  				NWGNUmakefile \
  				$(CUSTOM_INI) \
  				$(EOLIST)
                  
  CPPOPT_DEPENDS	= \
  				$(AP_WORK)\build\NWGNUhead.inc \
  				$(AP_WORK)\build\NWGNUenvironment.inc \
  				$(AP_WORK)\build\NWGNUtail.inc \
  				NWGNUmakefile \
  				$(CUSTOM_INI) \
  				$(EOLIST)
  
  $(NLM_NAME)_LINKOPT_DEPENDS	= \
  				$(TARGET_lib) \
  				$(AP_WORK)\build\NWGNUenvironment.inc \
  				NWGNUmakefile \
  				$(AP_WORK)\build\NWGNUtail.inc \
  				$(CUSTOM_INI) \
  				$(EOLIST)
  
  ifeq "$(words $(strip $(TARGET_lib)))" "1"
  LIB_NAME					= $(basename $(notdir $(TARGET_lib)))
  $(LIB_NAME)_LIBLST_DEPENDS	= \
  				$(FILES_lib_objs) \
  				$(AP_WORK)\build\NWGNUenvironment.inc \
  				NWGNUmakefile \
  				$(AP_WORK)\build\NWGNUtail.inc \
  				$(CUSTOM_INI) \
  				$(EOLIST)
  endif
  
  ifeq "$(wildcard NWGNU$(LIB_NAME))" "NWGNU$(LIB_NAME)"
  $(LIB_NAME)_LIBLST_DEPENDS	+= NWGNU$(LIB_NAME)
  endif
  
  ifeq "$(wildcard NWGNU$(NLM_NAME))" "NWGNU$(NLM_NAME)"
  $(NLM_NAME)_LINKOPT_DEPENDS	+= NWGNU$(NLM_NAME)
  CCOPT_DEPENDS 	+= NWGNU$(NLM_NAME)
  CPPOPT_DEPENDS 	+= NWGNU$(NLM_NAME)
  endif
  
  #
  # Generic compiler rules
  #
  
  $(OBJDIR)/%.o: %.c $(OBJDIR)\cc.opt
  	@echo Compiling $<
  	$(CC) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cc.opt 
  
  $(OBJDIR)\cc.opt: $(CCOPT_DEPENDS)
  	$(CHK) $@ $(DEL) $@
  	@echo Generating $@
  ifneq "$(strip $(CFLAGS))" ""
  	@echo $(CFLAGS) >> $@
  endif	
  ifneq "$(strip $(XCFLAGS))" ""
  	@echo $(XCFLAGS) >> $@
  endif
  ifneq "$(strip $(XINCDIRS))" ""
  	@echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
  endif	
  ifneq "$(strip $(INCDIRS))" ""
  	@echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
  endif
  ifneq "$(strip $(DEFINES))" "" 
  	@echo $(DEFINES) >> $@
  endif
  ifneq "$(strip $(XDEFINES))" "" 
  	@echo $(XDEFINES) >> $@
  endif
  
  $(OBJDIR)/%.o: %.cpp $(OBJDIR)\cpp.opt
  	@echo Compiling $<
  	$(CPP) $< -o=$(OBJDIR)\$(@F) @$(OBJDIR)\cpp.opt 
  
  $(OBJDIR)\cpp.opt: $(CPPOPT_DEPENDS)
  	$(CHK) $@ $(DEL) $@
  	@echo Generating $@
  ifneq "$(strip $(CFLAGS))" ""
  	@echo $(CFLAGS) >> $@
  endif	
  ifneq "$(strip $(XCFLAGS))" ""
  	@echo $(XCFLAGS) >> $@
  endif
  ifneq "$(strip $(XINCDIRS))" ""
  	@echo $(foreach xincdir,$(strip $(subst ;,$(SPACE),$(XINCDIRS))),-I$(xincdir)) >> $@
  endif	
  ifneq "$(strip $(INCDIRS))" ""
  	@echo $(foreach incdir,$(strip $(subst ;,$(SPACE),$(INCDIRS))),-I$(incdir)) >> $@
  endif
  ifneq "$(strip $(DEFINES))" "" 
  	@echo $(DEFINES) >> $@
  endif
  ifneq "$(strip $(XDEFINES))" "" 
  	@echo $(XDEFINES) >> $@
  endif
  
  #
  # Rules to build libraries
  #
  
  # If we only have one target library then build it
  
  ifeq "$(words $(strip $(TARGET_lib)))" "1"
  
  $(TARGET_lib) : $(OBJDIR)\$(LIB_NAME)_lib.lst
  	@echo Generating $@
  	$(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
  	$(LIB) -o $(OBJDIR)\$(@F) @$?
     
  $(OBJDIR)\$(LIB_NAME)_lib.lst: $($(LIB_NAME)_LIBLST_DEPENDS)
  	$(CHK) $@ $(DEL) $@
  	@echo Generating $@
  ifneq "$(strip $(FILES_lib_objs))" ""
  	@echo $(foreach objfile,$(FILES_lib_objs),$(subst /,\,$(objfile)) ) >> $@
  endif
  
  else # We must have more than one target library so load the individual makefiles
  
  $(OBJDIR)/%.lib: NWGNU% $(AP_WORK)\build\NWGNUhead.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUenvironment.inc FORCE
  	@echo Calling $<
  	$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
  
  endif
  
  #
  # Rules to build nlms. 
  #
  
  vpath libcpre.o $(NOVELLLIBC)\imports
  
  # If we only have one target NLM then build it
  ifeq "$(words $(strip $(TARGET_nlm)))" "1"
  
  $(TARGET_nlm) : $(FILES_nlm_objs) $(FILES_nlm_libs) $(OBJDIR)\$(NLM_NAME)_link.opt
  	@echo Linking $@
  	$(LINK) @$(OBJDIR)\$(NLM_NAME)_link.opt
  
  # This will force the link option file to be rebuilt if we change the 
  # corresponding makefile
  
  $(OBJDIR)\$(NLM_NAME)_link.opt : $($(NLM_NAME)_LINKOPT_DEPENDS)
  	$(CHK) $(OBJDIR)\$(@F) $(DEL) $(OBJDIR)\$(@F)
  	$(CHK) $(OBJDIR)\$(NLM_NAME)_link.def $(DEL) $(OBJDIR)\$(NLM_NAME)_link.def
  	@echo Generating $@
  	@echo -warnings off >> $@
  	@echo -zerobss >> $@
  	@echo -desc "$(NLM_DESCRIPTION)" >> $@
  	@echo -o $(TARGET_nlm) >> $@
  ifneq "$(FILE_nlm_copyright)" ""
  	@-type $(FILE_nlm_copyright) >> $@
  endif
  ifeq "$(RELEASE)" "debug"
  	@echo -g >> $@
  	@echo -sym internal >> $@
  	@echo -sym codeview4 >> $@
  	@echo -osym $(OBJDIR)\$(NLM_NAME).sym >> $@
  else	
  	@echo -sym internal >> $@
  endif	
  	@echo -screenname "Apache for NetWare" >> $@ 
  ifneq "$(NLM_VERSION)" ""
  	@echo -nlmversion=$(NLM_VERSION) >> $@ 
  else
  	@echo -nlmversion=$(VERSION) >> $@
  endif
  	@echo -l $(NWOS) >> $@
  	@echo -l $(AP)/$(OBJDIR) >> $@
  	@echo -l $(APR)/$(OBJDIR) >> $@
  	@echo -l $(APRUTIL)/$(OBJDIR) >> $@
  	@echo -l $(PCRE)/$(OBJDIR) >> $@
  	@echo -l $(HTTPD)/$(OBJDIR) >> $@
  	@echo -l $(SERVER)/$(OBJDIR) >> $@
  	@echo -l $(STDMOD)/$(OBJDIR) >> $@
  	@echo -l $(NWOS)/$(OBJDIR) >> $@
  	@echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime" >> $@
  	@echo -l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++" >> $@
  	@echo -l $(NOVELLLIBC)/imports >> $@
  ifneq "$(LDAPSDK)" ""    
  	@echo -l $(LDAPSDK)/lib/nlm >> $@
  endif    
  	@echo -l $(XML)/$(OBJDIR) >> $@
  	@echo -nodefaults >> $@
  	@echo -map $(OBJDIR)\$(NLM_NAME).map>> $@
  	@echo -threadname "$(NLM_THREAD_NAME)" >> $@
  ifneq "$(NLM_STACK_SIZE)" ""
  	@echo -stacksize $(subst K,000,$(subst k,K,$(strip $(NLM_STACK_SIZE)))) >> $@
  else	
  	@echo -stacksize 64000 >> $@
  endif
  ifneq "$(NLM_ENTRY_SYM)" ""
  	@echo -entry $(NLM_ENTRY_SYM) >> $@
  endif
  ifneq "$(NLM_EXIT_SYM)" ""
  	@echo -exit $(NLM_EXIT_SYM) >> $@
  endif
  ifneq "$(NLM_CHECK_SYM)" ""
  	@echo -check $(NLM_CHECK_SYM) >> $@
  endif
  ifneq "$(NLM_FLAGS)" ""
  	@echo -flags $(NLM_FLAGS) >> $@
  endif
  ifneq "$(strip $(FILES_nlm_objs))" ""
  	@echo $(foreach objfile,$(strip $(FILES_nlm_objs)),$(subst /,\,$(objfile))) >> $@
  endif
  ifneq "$(FILES_nlm_libs)" ""
  	@echo $(foreach libfile, $(notdir $(strip $(FILES_nlm_libs))),-l$(subst /,\,$(libfile))) >> $@
  endif
  	@echo -commandfile $(OBJDIR)\$(NLM_NAME)_link.def >> $@
  ifneq "$(FILE_nlm_msg)" ""
  	@echo Messages $(FILE_nlm_msg) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif
  ifneq "$(FILE_nlm_hlp)" ""
  	@echo Help $(FILE_nlm_hlp) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif
  ifneq "$(FILES_nlm_modules)" ""
  	@echo module $(foreach module,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_modules))),$(subst /,\,$(module))) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif
  ifneq "$(FILES_nlm_Ximports)" ""
  	@echo Import $(foreach import,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_Ximports))),$(subst /,\,$(import))) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif	
  ifneq "$(FILES_nlm_exports)" ""
  	@echo Export $(foreach export,$(subst $(SPACE),$(COMMA),$(strip $(FILES_nlm_exports))),$(subst /,\,$(export))) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif	
  ifneq "$(strip $(XLFLAGS))" ""
  	@echo $(XLFLAGS) >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif
  
  # if APACHE_UNIPROC is defined, don't include XDCData
  ifndef APACHE_UNIPROC
  ifneq "$(string $(XDCDATA))" ""
  	@echo XDCData $(XDCDATA) >> $(OBJDIR)\$(NLM_NAME)_link.def
  else
  	@echo XDCData $(NWOS)\apache.xdc >> $(OBJDIR)\$(NLM_NAME)_link.def
  endif
  endif
  
  else # more than one target so look for individual makefiles.
  
  # Only include these if NO_LICENSE_FILE isn't set to prevent excessive 
  # recursion
  
  ifndef NO_LICENSE_FILE
  
  $(OBJDIR)/%.nlm: NWGNU% $(AP_WORK)\build\NWGNUhead.inc $(AP_WORK)\build\NWGNUtail.inc $(AP_WORK)\build\NWGNUenvironment.inc $(CUSTOM_INI) FORCE
  	@echo Calling $<
  	$(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE)
  	$(CMD) echo.
  
  else
  
  $(TARGET_nlm):
  
  endif # NO_LICENSE_FILE
  
  endif