mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-21 11:13:30 +00:00
937a200089
This is actually a fully functional build except: * All internal shared libraries are static linked to make sure there is no interference with ports (and to reduce build time). * It does not have the python/perl/etc plugin or API support. * By default, it installs as "svnlite" rather than "svn". * If WITH_SVN added in make.conf, you get "svn". * If WITHOUT_SVNLITE is in make.conf, this is completely disabled. To be absolutely clear, this is not intended for any use other than checking out freebsd source and committing, like we once did with cvs. It should be usable for small scale local repositories that don't need the python/perl plugin architecture.
431 lines
8.5 KiB
Plaintext
431 lines
8.5 KiB
Plaintext
#
|
|
# Define our macros with defaults if we dont got them already.
|
|
#
|
|
ifndef APR_WORK
|
|
export APR_WORK = $(CURDIR)
|
|
endif
|
|
ifneq "$(wildcard $(APR_WORK)/include/apr_version.h)" "$(APR_WORK)/include/apr_version.h"
|
|
$(error APR_WORK does not point to a valid APR source tree)
|
|
endif
|
|
ifndef APU_WORK
|
|
export APU_WORK = $(CURDIR)/../apr-util
|
|
endif
|
|
ifneq "$(wildcard $(APU_WORK)/include/apu_version.h)" "$(APU_WORK)/include/apu_version.h"
|
|
$(error APU_WORK does not point to a valid APU source tree)
|
|
endif
|
|
|
|
#
|
|
# Declare the sub-directories to be built here
|
|
#
|
|
|
|
SUBDIRS = \
|
|
build \
|
|
$(APU_WORK) \
|
|
$(EOLIST)
|
|
|
|
ifeq "$(TEST)" "1"
|
|
SUBDIRS += \
|
|
test \
|
|
$(APU_WORK)/test \
|
|
$(EOLIST)
|
|
endif
|
|
|
|
#
|
|
# Get the 'head' of the build environment. This includes default targets and
|
|
# paths to tools
|
|
#
|
|
|
|
include $(APR_WORK)/build/NWGNUhead.inc
|
|
|
|
#
|
|
# build this level's files
|
|
|
|
#
|
|
# Make sure all needed macro's are defined
|
|
#
|
|
|
|
#
|
|
# These directories will be at the beginning of the include list, followed by
|
|
# INCDIRS
|
|
#
|
|
XINCDIRS += \
|
|
$(APR)/include \
|
|
$(APR)/include/arch/NetWare \
|
|
$(APR)/include/arch/unix \
|
|
$(APR)/memory/unix \
|
|
$(APR)/random/unix \
|
|
$(APU)/include \
|
|
$(APU)/xml \
|
|
$(LDAPSDK)/inc \
|
|
$(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 = aprlib
|
|
|
|
#
|
|
# This is used by the link '-desc ' directive.
|
|
# If left blank, NLM_NAME will be used.
|
|
#
|
|
NLM_DESCRIPTION = Apache Portability Runtime Library $(VERSION_STR) $(VERSION_SKT)
|
|
|
|
#
|
|
# This is used by the '-threadname' directive. If left blank,
|
|
# NLM_NAME Thread will be used.
|
|
#
|
|
NLM_THREAD_NAME =
|
|
#
|
|
# If this is specified, it will override VERSION value in
|
|
# $(APR_WORK)/build/NWGNUenvironment.inc
|
|
#
|
|
NLM_VERSION =
|
|
|
|
#
|
|
# If this is specified, it will override the default of 64K
|
|
#
|
|
NLM_STACK_SIZE =
|
|
|
|
#
|
|
# If this is specified it will be used by the link '-entry' directive
|
|
#
|
|
NLM_ENTRY_SYM =
|
|
|
|
#
|
|
# If this is specified it will be used by the link '-exit' directive
|
|
#
|
|
NLM_EXIT_SYM =
|
|
|
|
#
|
|
# If this is specified it will be used by the link '-check' directive
|
|
#
|
|
NLM_CHECK_SYM =
|
|
|
|
#
|
|
# If this is specified it will be used by the link '-flags' directive
|
|
#
|
|
NLM_FLAGS =
|
|
|
|
#
|
|
# If this is specified it will be linked in with the XDCData option in the def
|
|
# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
|
|
# be disabled by setting APACHE_UNIPROC in the environment
|
|
#
|
|
XDCDATA =
|
|
|
|
#
|
|
# Declare all target files (you must add your files here)
|
|
#
|
|
|
|
#
|
|
# If there is an NLM target, put it here
|
|
#
|
|
TARGET_nlm = \
|
|
$(OBJDIR)/aprlib.nlm \
|
|
$(EOLIST)
|
|
|
|
#
|
|
# If there is an LIB target, put it here
|
|
#
|
|
TARGET_lib = \
|
|
$(OBJDIR)/aprlib.lib \
|
|
$(EOLIST)
|
|
|
|
#
|
|
# These are the OBJ files needed to create the NLM target above.
|
|
# Paths must all use the '/' character
|
|
#
|
|
FILES_nlm_objs = \
|
|
$(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 = \
|
|
$(PRELUDE) \
|
|
$(APRLIB) \
|
|
$(APULIB) \
|
|
$(APULDAPLIB) \
|
|
$(APUXMLLIB) \
|
|
$(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 = \
|
|
Libc \
|
|
$(EOLIST)
|
|
|
|
# Include the Winsock libraries if Winsock is being used
|
|
ifndef USE_STDSOCKETS
|
|
FILES_nlm_modules += ws2_32 \
|
|
$(EOLIST)
|
|
endif
|
|
|
|
#If the LDAP support is defined then add the auto-load modules
|
|
ifneq "$(LDAPSDK)" ""
|
|
FILES_nlm_modules += \
|
|
lldapsdk \
|
|
lldapssl \
|
|
$(EOLIST)
|
|
endif
|
|
|
|
#
|
|
# 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 = \
|
|
@libc.imp \
|
|
@netware.imp \
|
|
$(EOLIST)
|
|
|
|
# Include the Winsock imports if Winsock is being used
|
|
ifndef USE_STDSOCKETS
|
|
FILES_nlm_Ximports += \
|
|
@ws2nlm.imp \
|
|
WSAStartupRTags \
|
|
WSACleanupRTag \
|
|
$(EOLIST)
|
|
endif
|
|
|
|
#If the LDAP support is defined then add the imports
|
|
ifneq "$(LDAPSDK)" ""
|
|
FILES_nlm_Ximports += \
|
|
@lldapsdk.imp \
|
|
@lldapssl.imp \
|
|
$(EOLIST)
|
|
endif
|
|
|
|
#
|
|
# Any symbols exported to here
|
|
#
|
|
FILES_nlm_exports = \
|
|
@aprlib.imp \
|
|
$(EOLIST)
|
|
|
|
#
|
|
# These are the OBJ files needed to create the LIB target above.
|
|
# Paths must all use the '/' character
|
|
#
|
|
FILES_lib_objs = \
|
|
$(OBJDIR)/apr_atomic.o \
|
|
$(OBJDIR)/apr_cpystrn.o \
|
|
$(OBJDIR)/apr_fnmatch.o \
|
|
$(OBJDIR)/apr_getpass.o \
|
|
$(OBJDIR)/apr_hash.o \
|
|
$(OBJDIR)/apr_pools.o \
|
|
$(OBJDIR)/apr_random.o \
|
|
$(OBJDIR)/apr_snprintf.o \
|
|
$(OBJDIR)/apr_strings.o \
|
|
$(OBJDIR)/apr_strnatcmp.o \
|
|
$(OBJDIR)/apr_strtok.o \
|
|
$(OBJDIR)/apr_tables.o \
|
|
$(OBJDIR)/buffer.o \
|
|
$(OBJDIR)/charset.o \
|
|
$(OBJDIR)/copy.o \
|
|
$(OBJDIR)/common.o \
|
|
$(OBJDIR)/dir.o \
|
|
$(OBJDIR)/dso.o \
|
|
$(OBJDIR)/errorcodes.o \
|
|
$(OBJDIR)/env.o \
|
|
$(OBJDIR)/fileacc.o \
|
|
$(OBJDIR)/filedup.o \
|
|
$(OBJDIR)/filepath.o \
|
|
$(OBJDIR)/filepath_util.o \
|
|
$(OBJDIR)/filestat.o \
|
|
$(OBJDIR)/filesys.o \
|
|
$(OBJDIR)/flock.o \
|
|
$(OBJDIR)/fullrw.o \
|
|
$(OBJDIR)/getopt.o \
|
|
$(OBJDIR)/groupinfo.o \
|
|
$(OBJDIR)/inet_pton.o \
|
|
$(OBJDIR)/inet_ntop.o \
|
|
$(OBJDIR)/mktemp.o \
|
|
$(OBJDIR)/mmap.o \
|
|
$(OBJDIR)/multicast.o \
|
|
$(OBJDIR)/open.o \
|
|
$(OBJDIR)/pipe.o \
|
|
$(OBJDIR)/otherchild.o \
|
|
$(OBJDIR)/proc.o \
|
|
$(OBJDIR)/procsup.o \
|
|
$(OBJDIR)/proc_mutex.o \
|
|
$(OBJDIR)/rand.o \
|
|
$(OBJDIR)/readwrite.o \
|
|
$(OBJDIR)/seek.o \
|
|
$(OBJDIR)/pollcb.o \
|
|
$(OBJDIR)/pollset.o \
|
|
$(OBJDIR)/select.o \
|
|
$(OBJDIR)/sendrecv.o \
|
|
$(OBJDIR)/sha2.o \
|
|
$(OBJDIR)/sha2_glue.o \
|
|
$(OBJDIR)/shm.o \
|
|
$(OBJDIR)/signals.o \
|
|
$(OBJDIR)/sockaddr.o \
|
|
$(OBJDIR)/socket_util.o \
|
|
$(OBJDIR)/sockets.o \
|
|
$(OBJDIR)/sockopt.o \
|
|
$(OBJDIR)/start.o \
|
|
$(OBJDIR)/tempdir.o \
|
|
$(OBJDIR)/thread.o \
|
|
$(OBJDIR)/thread_cond.o \
|
|
$(OBJDIR)/thread_mutex.o \
|
|
$(OBJDIR)/thread_rwlock.o \
|
|
$(OBJDIR)/threadpriv.o \
|
|
$(OBJDIR)/time.o \
|
|
$(OBJDIR)/timestr.o \
|
|
$(OBJDIR)/userinfo.o \
|
|
$(OBJDIR)/version.o \
|
|
$(OBJDIR)/waitio.o \
|
|
$(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 $(APR_WORK)/build/NWGNUhead.inc for examples)
|
|
#
|
|
install :: nlms $(INSTDIRS) FORCE
|
|
$(call COPY,$(APR)/$(TARGET_nlm),$(INSTALLBASE)/)
|
|
ifndef DEST
|
|
-$(call COPY,$(APR)/LICENSE,$(INSTALLBASE)/)
|
|
-$(call COPY,$(APR)/STATUS,$(INSTALLBASE)/STATUS.apr)
|
|
-$(call COPY,$(APR)/CHANGES,$(INSTALLBASE)/CHANGES.apr)
|
|
-$(call COPY,$(APU)/STATUS,$(INSTALLBASE)/STATUS.apu)
|
|
-$(call COPY,$(APU)/CHANGES,$(INSTALLBASE)/CHANGES.apu)
|
|
-$(call COPYR,$(APR)/docs,$(INSTALLBASE)/docs/)
|
|
endif
|
|
|
|
ifndef DEST
|
|
installdev :: $(INSTDEVDIRS) FORCE
|
|
$(call COPY,$(APR)/include/*.h,$(INSTALLBASE)/include/)
|
|
$(call COPY,$(APR)/*.imp,$(INSTALLBASE)/lib/)
|
|
$(call COPY,$(APR)/misc/netware/*.xdc,$(INSTALLBASE)/lib/)
|
|
$(call COPY,$(APR)/$(TARGET_nlm),$(INSTALLBASE)/bin/)
|
|
$(call COPY,$(APRLIB),$(INSTALLBASE)/lib/)
|
|
$(call COPY,$(APULIB),$(INSTALLBASE)/lib/)
|
|
$(call COPY,$(APULDAPLIB),$(INSTALLBASE)/lib/)
|
|
$(call COPY,$(APUXMLLIB),$(INSTALLBASE)/lib/)
|
|
|
|
$(INSTDEVDIRS) ::
|
|
$(call MKDIR,$@)
|
|
endif
|
|
|
|
#
|
|
# Any specialized rules here
|
|
#
|
|
|
|
vpath %.c atomic/netware:strings:tables:passwd:lib:time/unix
|
|
vpath %.c file_io/unix:locks/netware:misc/netware:misc/unix:threadproc/netware
|
|
vpath %.c poll/unix:shmem/unix:support/unix:random/unix
|
|
vpath %.c dso/netware:memory/unix:mmap/unix:user/netware
|
|
|
|
# Use the win32 network_io if Winsock is being used
|
|
ifndef USE_STDSOCKETS
|
|
vpath %.c network_io/win32
|
|
endif
|
|
vpath %.c network_io/unix
|
|
|
|
$(OBJDIR)/%.o: file_io/netware/%.c $(OBJDIR)/$(NLM_NAME)_cc.opt
|
|
# @echo Compiling $<
|
|
@echo $(DL)CC $<$(DL)
|
|
$(CC) $< -cwd source -o=$@ @$(OBJDIR)/$(NLM_NAME)_cc.opt
|
|
|
|
#
|
|
# Include the 'tail' makefile that has targets that depend on variables defined
|
|
# in this makefile
|
|
#
|
|
|
|
include $(APRBUILD)/NWGNUtail.inc
|
|
|
|
|