#
# 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.
#
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_SCREEN_NAME
NLM_SCREEN_NAME = DEFAULT
endif
ifndef NLM_COPYRIGHT
NLM_COPYRIGHT = Licensed under the Apache License, Version 2.0
endif
ifeq "$(NLM_FLAGS)" ""
NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
endif
ifeq "$(NLM_STACK_SIZE)" ""
NLM_STACK_SIZE = 65536
endif
ifeq "$(NLM_ENTRY_SYM)" ""
NLM_ENTRY_SYM = _LibCPrelude
endif
ifeq "$(NLM_EXIT_SYM)" ""
NLM_EXIT_SYM = _LibCPostlude
endif
ifeq "$(NLM_VERSION)" ""
NLM_VERSION = $( VERSION)
endif
#
# Create dependency lists based on the files available
#
STANDARD_DEPENDS = \
$( APBUILD)/NWGNUhead.inc \
$( APBUILD)/NWGNUenvironment.inc \
$( APBUILD)/NWGNUtail.inc \
$( CUSTOM_INI) \
$( EOLIST)
CCOPT_DEPENDS = $( STANDARD_DEPENDS)
$( NLM_NAME)_LINKOPT_DEPENDS = \
$( TARGET_lib) \
$( STANDARD_DEPENDS) \
$( VERSION_INC) \
$( EOLIST)
ifeq "$(words $(strip $(TARGET_lib)))" "1"
LIB_NAME = $( basename $( notdir $( TARGET_lib)))
$( LIB_NAME)_LIBLST_DEPENDS = \
$( FILES_lib_objs) \
$( STANDARD_DEPENDS) \
$( CUSTOM_INI) \
$( EOLIST)
endif
ifeq "$(wildcard NWGNU$(LIB_NAME))" "NWGNU$(LIB_NAME)"
$( LIB_NAME)_LIBLST_DEPENDS += NWGNU$( LIB_NAME)
CCOPT_DEPENDS += NWGNU$( LIB_NAME)
else
CCOPT_DEPENDS += NWGNUmakefile
endif
ifeq "$(wildcard NWGNU$(NLM_NAME))" "NWGNU$(NLM_NAME)"
$( NLM_NAME)_LINKOPT_DEPENDS += NWGNU$( NLM_NAME)
CCOPT_DEPENDS += NWGNU$( NLM_NAME)
else
CCOPT_DEPENDS += NWGNUmakefile
endif
CPPOPT_DEPENDS = $( CCOPT_DEPENDS)
#
# Generic compiler rules
#
ifneq "$(MAKECMDGOALS)" "clean"
ifneq "$(findstring clobber_,$(MAKECMDGOALS))" "clobber_"
$( APBUILD)/NWGNUversion.inc: $( APBUILD)/nw_ver.awk $( SRC)/include/ap_release.h
@echo $( DL)GEN $@ $( DL)
$( AWK) -f $^ $( SRC)/.svn/all-wcprops > $@
-include $( APBUILD)/NWGNUversion.inc
ifneq "$(strip $(VERSION_STR))" ""
VERSION_INC = $( APBUILD)/NWGNUversion.inc
else
VERSION = 2,4,0
VERSION_STR = 2.4.0
VERSION_MAJMIN = 24
endif
endif
endif
ifeq "$(USE_SVNREV)" "1"
ifneq "$(strip $(SVN_REVISION))" ""
CFLAGS += -DAP_SERVER_ADD_STRING=\"$(SVN_REVISION)\"
endif
endif
ifeq "$(words $(strip $(TARGET_nlm)))" "1"
$( OBJDIR)/%.o: %.c $( OBJDIR)/$( NLM_NAME)_cc.opt
@echo $( DL)CC $< $( DL)
$( CC) -o $@ $< @$( word 2, $^ )
$( OBJDIR)/$( NLM_NAME)_cc.opt: $( CCOPT_DEPENDS)
$( call DEL,$@ )
@echo $( DL)GEN $@ $( DL)
ifneq "$(strip $(CFLAGS))" ""
@echo $( DL)$( CFLAGS)$( DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
@echo $( DL)$( XCFLAGS)$( DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
@echo $( DL)$( foreach xincdir,$( strip $( subst ;,$( SPACE),$( XINCDIRS))),-I$( xincdir))$( DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
@echo $( DL)$( foreach incdir,$( strip $( subst ;,$( SPACE),$( INCDIRS))),-I$( incdir))$( DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
@echo $( DL)$( DEFINES)$( DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
@echo $( DL)$( XDEFINES)$( DL)>> $@
endif
$( OBJDIR)/%.o: %.cpp $( OBJDIR)/$( NLM_NAME)_cpp.opt
@echo $( DL)CC $< $( DL)
$( CC) -o $@ $< @$( word 2, $^ )
$( OBJDIR)/$( NLM_NAME)_cpp.opt: $( CPPOPT_DEPENDS)
$( call DEL,$@ )
@echo $( DL)GEN $@ $( DL)
ifneq "$(strip $(CFLAGS))" ""
@echo $( DL)$( CFLAGS)$( DL)>> $@
endif
ifneq "$(strip $(XCFLAGS))" ""
@echo $( DL)$( XCFLAGS)$( DL)>> $@
endif
ifneq "$(strip $(XINCDIRS))" ""
@echo $( DL)$( foreach xincdir,$( strip $( subst ;,$( SPACE),$( XINCDIRS))),-I$( xincdir))$( DL)>> $@
endif
ifneq "$(strip $(INCDIRS))" ""
@echo $( DL)$( foreach incdir,$( strip $( subst ;,$( SPACE),$( INCDIRS))),-I$( incdir))$( DL)>> $@
endif
ifneq "$(strip $(DEFINES))" ""
@echo $( DL)$( DEFINES)$( DL)>> $@
endif
ifneq "$(strip $(XDEFINES))" ""
@echo $( DL)$( XDEFINES)$( DL)>> $@
endif
endif # one target nlm
#
# 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
$( call DEL,$@ )
@echo $( DL)AR $@ $( DL)
$( LIB) -o $@ @$<
$( OBJDIR)/$( LIB_NAME)_lib.lst: $( $( LIB_NAME)_LIBLST_DEPENDS)
$( call DEL,$@ )
ifneq "$(strip $(FILES_lib_objs))" ""
@echo $( DL)GEN $@ $( DL)
@echo $( DL)$( FILES_lib_objs)$( DL)>> $@
endif
else # We must have more than one target library so load the individual makefiles
$( OBJDIR)/%.lib: NWGNU% $( STANDARD_DEPENDS) FORCE
@echo $( DL)Calling $< $( DL)
$( MAKE) -f $< $( MAKECMDGOALS) RELEASE=$( RELEASE)
endif
#
# Rules to build nlms.
#
# 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 $( DL)LINK $@ $( DL)
$( 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)
$( call DEL,$@ )
$( call DEL,$( @:.opt=.def))
@echo $( DL)GEN $@ $( DL)
@echo $( DL)-nlmversion=$( NLM_VERSION)$( DL)>> $@
@echo $( DL)-warnings off$( DL)>> $@
@echo $( DL)-zerobss$( DL)>> $@
@echo $( DL)-o $( TARGET_nlm)$( DL)>> $@
ifneq "$(FILE_nlm_copyright)" ""
@$( CAT) $( FILE_nlm_copyright)>> $@
endif
ifeq "$(RELEASE)" "debug"
@echo $( DL)-g$( DL)>> $@
@echo $( DL)-sym internal$( DL)>> $@
@echo $( DL)-sym codeview4$( DL)>> $@
@echo $( DL)-osym $( OBJDIR)/$( NLM_NAME).sym$( DL)>> $@
else
@echo $( DL)-sym internal$( DL)>> $@
endif
@echo $( DL)-l $( SRC)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( HTTPD)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( SERVER)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( STDMOD)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( NWOS)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( NWOS)$( DL)>> $@
@echo $( DL)-l $( APR)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( APR)$( DL)>> $@
@echo $( DL)-l $( APRUTIL)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( PCRE)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/Runtime" $( DL)>> $@
@echo $( DL)-l "$(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++" $( DL)>> $@
ifneq "$(IPV6)" ""
@echo $( DL)-l $( NOVELLLIBC)/include/winsock/IPV6$( DL)>> $@
endif
@echo $( DL)-l $( NOVELLLIBC)/imports$( DL)>> $@
ifneq "$(LDAPSDK)" ""
@echo $( DL)-l $( LDAPSDK)/imports$( DL)>> $@
endif
@echo $( DL)-l $( APULDAP)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( XML)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-l $( SRC)/$( OBJDIR)$( DL)>> $@
@echo $( DL)-nodefaults$( DL)>> $@
@echo $( DL)-map $( OBJDIR)/$( NLM_NAME).map$( DL)>> $@
ifneq "$(strip $(XLFLAGS))" ""
@echo $( DL)$( XLFLAGS)$( DL)>> $@
endif
ifneq "$(strip $(FILES_nlm_objs))" ""
@echo $( DL)$( foreach objfile,$( strip $( FILES_nlm_objs)),$( objfile))$( DL)>> $@
endif
ifneq "$(FILES_nlm_libs)" ""
@echo $( DL)$( foreach libfile, $( notdir $( strip $( FILES_nlm_libs))),-l$( libfile))$( DL)>> $@
endif
@echo $( DL)-commandfile $( @:.opt=.def)$( DL)>> $@
@echo $( DL)# Do not edit this file - it is created by make!$( DL)> $( @:.opt=.def)
@echo $( DL)# All your changes will be lost!!$( DL)>> $( @:.opt=.def)
ifneq "$(FILE_nlm_msg)" ""
@echo $( DL)Messages $( FILE_nlm_msg)$( DL)>> $( @:.opt=.def)
endif
ifneq "$(FILE_nlm_hlp)" ""
@echo $( DL)Help $( FILE_nlm_hlp)$( DL)>> $( @:.opt=.def)
endif
ifeq "$(FILE_nlm_copyright)" ""
@echo $( DL)copyright "$(NLM_COPYRIGHT)" $( DL)>> $( @:.opt=.def)
endif
@echo $( DL)description "$(NLM_DESCRIPTION)" $( DL)>> $( @:.opt=.def)
@echo $( DL)threadname "$(NLM_THREAD_NAME)" $( DL)>> $( @:.opt=.def)
@echo $( DL)screenname "$(NLM_SCREEN_NAME)" $( DL)>> $( @:.opt=.def)
@echo $( DL)stacksize $( subst K,000,$( subst k,K,$( strip $( NLM_STACK_SIZE))))$( DL)>> $( @:.opt=.def)
# @echo $( DL)version $( NLM_VERSION) $( DL)>> $( @:.opt=.def)
@echo $( DL)start $( NLM_ENTRY_SYM)$( DL)>> $( @:.opt=.def)
@echo $( DL)exit $( NLM_EXIT_SYM)$( DL)>> $( @:.opt=.def)
ifneq "$(NLM_CHECK_SYM)" ""
@echo $( DL)check $( NLM_CHECK_SYM)$( DL)>> $( @:.opt=.def)
endif
@echo $( DL)$( strip $( NLM_FLAGS))$( DL)>> $( @:.opt=.def)
ifneq "$(FILES_nlm_modules)" ""
@echo $( DL)module $( foreach module,$( subst $( SPACE),$( COMMA),$( strip $( FILES_nlm_modules))),$( module))$( DL)>> $( @:.opt=.def)
endif
ifneq "$(FILES_nlm_Ximports)" ""
@echo $( DL)import $( foreach import,$( subst $( SPACE),$( COMMA),$( strip $( FILES_nlm_Ximports))),$( import))$( DL)>> $( @:.opt=.def)
endif
ifneq "$(FILES_nlm_exports)" ""
@echo $( DL)export $( foreach export,$( subst $( SPACE),$( COMMA),$( strip $( FILES_nlm_exports))),$( export))$( DL)>> $( @:.opt=.def)
endif
# if APACHE_UNIPROC is defined, don't include XDCData
ifndef APACHE_UNIPROC
ifneq "$(string $(XDCDATA))" ""
@echo $( DL)xdcdata $( XDCDATA)$( DL)>> $( @:.opt=.def)
else
@echo $( DL)xdcdata apache.xdc$( DL)>> $( @:.opt=.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% $( $( NLM_NAME)_LINKOPT_DEPENDS) FORCE
@echo $( DL)Calling $< $( DL)
$( MAKE) -f $< $( MAKECMDGOALS) RELEASE=$( RELEASE)
@$( ECHONL)
else
$( TARGET_nlm):
endif # NO_LICENSE_FILE
endif
quality 90%
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland