diff options
Diffstat (limited to 'APACHE_1_3_42/NWGNUtail.inc')
-rw-r--r-- | APACHE_1_3_42/NWGNUtail.inc | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/APACHE_1_3_42/NWGNUtail.inc b/APACHE_1_3_42/NWGNUtail.inc new file mode 100644 index 0000000000..7b5fe9fd17 --- /dev/null +++ b/APACHE_1_3_42/NWGNUtail.inc @@ -0,0 +1,279 @@ +# +# This contains final targets and should be included at the end of any +# NWGNUmakefile.mak file +# + +# +# If we are going to create an nlm, make sure we have assigned variables to +# use during the link. +# + +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 + +ifndef NLM_COPYRIGHT +NLM_COPYRIGHT = Copyright 2010 The Apache Software Foundation. Licensed under the Apache License Version 2.0. +endif + +# +# Create dependency lists based on the files available +# + +CCOPT_DEPENDS = $(AP_WORK)\NWGNUhead.inc NWGNUmakefile.mak $(OBJDIR) +CPPOPT_DEPENDS = $(AP_WORK)\NWGNUhead.inc NWGNUmakefile.mak $(OBJDIR) + +$(NLM_NAME)_LINKOPT_DEPENDS = $(TARGET_lib) NWGNUmakefile.mak $(AP_WORK)\NWGNUtail.inc + +ifeq "$(words $(strip $(TARGET_lib)))" "1" +LIB_NAME = $(basename $(notdir $(TARGET_lib))) +$(LIB_NAME)_LIBLST_DEPENDS = $(FILES_lib_objs) NWGNUmakefile.mak $(AP_WORK)\NWGNUtail.inc +endif + +ifeq "$(wildcard NWGNU$(LIB_NAME).mak)" "NWGNU$(LIB_NAME).mak" +$(LIB_NAME)_LIBLST_DEPENDS += NWGNU$(LIB_NAME).mak +endif + +ifeq "$(wildcard NWGNU$(NLM_NAME).mak)" "NWGNU$(NLM_NAME).mak" +$(NLM_NAME)_LINKOPT_DEPENDS += NWGNU$(NLM_NAME).mak +CCOPT_DEPENDS += NWGNU$(NLM_NAME).mak +CPPOPT_DEPENDS += NWGNU$(NLM_NAME).mak +endif + +ifeq "$(wildcard NWGNUmake.inc)" "NWGNUmake.inc" +$(NLM_NAME)_LINKOPT_DEPENDS += NWGNUmake.inc +CCOPT_DEPENDS += NWGNUmake.inc +CPPOPT_DEPENDS += NWGNUmake.inc +endif + +ifneq "$(findstring xdc,$(XLFLAGS))" "" +XDCFOUND = 1 +endif + +ifneq "$(findstring XDC,$(XLFLAGS))" "" +XDCFOUND = 1 +endif + +# +# Generic compiler rules +# + +%.d: %.c $(OBJDIR)\cc.opt + @echo Creating dependancy list for $< + $(CC) $< -o $*.tmp -M @$(OBJDIR)\cc.opt + $(GNUTOOLS)/sed 's/$*.o[ :]*/$(OBJDIR)\/$*.o : $@ /g' $*.tmp > $@ + -$(DEL) $*.tmp + +%.d: %.cpp $(OBJDIR)\cpp.opt + @echo Creating dependancy list for $< + $(CC) $< -o $*.tmp -M @$(OBJDIR)\cpp.opt + $(GNUTOOLS)/sed 's/$*.o[ :]*/$(OBJDIR)\/$*.o : $@ /g' $*.tmp > $@ + -$(DEL) $*.tmp + +$(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" + +# Include autodependancy files +ifneq ($(MAKECMDGOALS),clean) +ifneq "$(strip $(FILES_lib_objs))" "" +-include $(patsubst $(OBJDIR)/%.o,%.d,$(FILES_lib_objs)) +endif +endif + +$(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%.mak $(AP_WORK)\NWGNUhead.inc $(AP_WORK)\NWGNUtail.inc FORCE + @echo Calling $< + $(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE) + +endif + +# +# Rules to build nlms. +# + +vpath clibpre.o $(NWSDKDIR)\imports + +# If we only have one target NLM then build it +ifeq "$(words $(strip $(TARGET_nlm)))" "1" + +# Include autodependancy files +ifneq ($(MAKECMDGOALS),clean) +ifneq "$(strip $(FILES_nlm_objs))" "" +-include $(patsubst $(OBJDIR)/%.o,%.d,$(FILES_nlm_objs)) +endif +endif + +$(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 -o $(OBJDIR)\$(NLM_NAME).nlm >> $@ +ifneq "$(FILE_nlm_copyright)" "" + @-type $(FILE_nlm_copyright) >> $@ +endif +ifeq "$(RELEASE)" "debug" + @echo -screenname "$(NLM_NAME) Screen" >> $@ + @echo -g >> $@ + @echo -sym internal >> $@ + @echo -sym codeview4 >> $@ + @echo -osym $(NLM_NAME).sym >> $@ +else + @echo -screenname "Apache for NetWare" >> $@ +endif + @echo -l $(NWOS) >> $@ + @echo -l $(AP)\$(OBJDIR) >> $@ + @echo -l $(REGEX)\$(OBJDIR) >> $@ + @echo -l $(STDMOD)\$(OBJDIR) >> $@ + @echo -l $(NWOS)\$(OBJDIR) >> $@ +# @echo -l "$(METROWERKS)\Novell Support\Metrowerks Support\Libraries\Runtime" >> $@ + @echo -l $(NWSDKDIR)\imports >> $@ + @echo -l $(LDAPSDK)\Netware\clib\imports >> $@ +ifneq "$(strip $(XLFLAGS))" "" + @echo $(strip $(XLFLAGS)) >> $@ +endif + @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_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 >> $@ + @echo Description "$(NLM_DESCRIPTION)" >> $(OBJDIR)\$(NLM_NAME)_link.def +ifeq "$(FILE_nlm_copyright)" "" + @echo Copyright "$(NLM_COPYRIGHT)" >> $(OBJDIR)\$(NLM_NAME)_link.def +endif +ifneq "$(NLM_VERSION)" "" + @echo Version $(NLM_VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def +else + @echo Version $(VERSION) >> $(OBJDIR)\$(NLM_NAME)_link.def +endif +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 "$(XDCDATA)" "" + @echo XDCData $(XDCDATA) >> $(OBJDIR)\$(NLM_NAME)_link.def +endif + +else # more than one target so look for individual makefiles. + +$(OBJDIR)/%.nlm: NWGNU%.mak $(AP_WORK)\NWGNUhead.inc $(AP_WORK)\NWGNUtail.inc FORCE + @echo Calling $< + $(MAKE) -f $< $(MAKECMDGOALS) RELEASE=$(RELEASE) + +endif |