summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorGreg Stein <gstein@apache.org>2004-02-05 10:16:25 +0000
committerGreg Stein <gstein@apache.org>2004-02-05 10:16:25 +0000
commit7f5b352d208fc156d060afc3d4d9bd6dd02472dc (patch)
treecfa5a711c027d72cc924b6fe5e6451b8d81fbe2c /Makefile.in
parent4ee50c35aa2cd7184e3e6ec836f469f08bd003f5 (diff)
downloadapr-7f5b352d208fc156d060afc3d4d9bd6dd02472dc.tar.gz
First whack at switching to a single top-level make. This adds a dependency
upon Python at packaging time, but not at end-user config/build time. As far as I can tell, the build continues to function properly. (out-of-dir config/make not tested, and apr-iconv prolly needs some work) The buildconf scripts now generate a build-outputs.mk file which is included by the root's Makefile (via the build/gen-build.py script). bulid-outputs.mk specifies all of the various files present in the distribution. The top-level Makefiles were simplified to use an $(OBJECTS) symbol rather than 'find'ing them. Similarly, a $(HEADERS) symbol is used for the exports. The corresponding delete-* targets were eliminated since we have a precise set of inputs. The subdirs' Makefiles were removed since they are no longer called/used. The apr-util/uri Makefile was responsible for compiling a C program to generate the uri_delims.h file. That process was replaced by a Python script to generate the header (called by buildconf). The .c and .dsp were left for the Windows build to continue, but that should be revamped. build/apr_rules.mk was revamped somewhat to avoid recursion, but a lot of cleanup is still needed. Much of the recursive/local/x- logic is no longer needed and can be elimianated. rules.mk was created for inclusion by N makefiles, but that isn't really true any more, so it could probably be tossed (caveat: test/Makefile). Saved for a phase 2. Some additional work was added to properly clean up files in */build/, rather than relying on a makefile in there. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@64891 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in55
1 files changed, 15 insertions, 40 deletions
diff --git a/Makefile.in b/Makefile.in
index 0b55c5e03..148402d21 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -10,14 +10,14 @@ APR_MAJOR_VERSION=@APR_MAJOR_VERSION@
# Macros for supporting directories
#
INCDIR=./include
-INCDIR1=../include
-INCLUDES=-I$(INCDIR) -I$(INCDIR1)
+OSDIR=$(INCDIR)/arch/@OSDIR@
+DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
+INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR)
#
# Macros for target determination
#
-SUBDIRS=@SUBDIRS@
-CLEAN_SUBDIRS= . test build
+CLEAN_SUBDIRS= test
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@
TARGET_LIB = lib@APR_LIBNAME@.la
@@ -26,16 +26,18 @@ TARGET_LIB = lib@APR_LIBNAME@.la
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
-TARGETS = delete-lib $(TARGET_LIB) delete-exports export_vars.h apr.exp
+TARGETS = $(TARGET_LIB) export_vars.h apr.exp
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
+@INCLUDE_OUTPUTS@
CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.h
DISTCLEAN_TARGETS = config.cache config.log config.status \
include/apr.h include/arch/unix/apr_private.h \
- libtool apr-config
-EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in
+ libtool apr-config build/apr_rules.mk
+EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
+ build-outputs.mk build/ltcf-c.sh build/ltmain.sh build/libtool.m4
prefix=@prefix@
exec_prefix=@exec_prefix@
@@ -48,17 +50,6 @@ VPATH=@srcdir@
top_srcdir=@apr_srcdir@
top_blddir=@apr_builddir@
-EXPORT_FILES = $(top_srcdir)/include/*.h
-
-delete-lib:
- @if test -f $(TARGET_LIB); then \
- for i in $(SUBDIRS); do objects="$$objects $$i/*.@so_ext@"; done ; \
- if test -n "`find $$objects -newer $(TARGET_LIB)`"; then \
- echo Found newer objects. Will relink $(TARGET_LIB). ; \
- echo $(RM) -f $(TARGET_LIB) ; \
- $(RM) -f $(TARGET_LIB) ; \
- fi \
- fi
# Create apr-config script suitable for the install tree
apr-config.out: apr-config
@@ -102,27 +93,14 @@ install: $(TARGET_LIB) apr-config.out
done \
fi
-$(TARGET_LIB):
- @for i in $(SUBDIRS); do objects="$$objects $$i/*.@so_ext@"; done ; \
- tmpcmd="$(LINK) @lib_target@ $(ALL_LIBS)"; \
- echo $$tmpcmd; \
- $$tmpcmd && touch $@
-
-delete-exports:
- @if test -f apr.exp; then \
- headers="`find include/*.h -newer apr.exp`" ; \
- if test -n "$$headers"; then \
- echo Found newer headers. Will rebuild apr.exp. ; \
- echo $(RM) -f apr.exp exports.c export_vars.h ; \
- $(RM) -f apr.exp exports.c export_vars.h ; \
- fi \
- fi
+$(TARGET_LIB): $(OBJECTS)
+ $(LINK) @lib_target@ $(ALL_LIBS)
-exports.c:
- $(AWK) -f $(top_srcdir)/build/make_exports.awk $(EXPORT_FILES) > $@
+exports.c: $(HEADERS)
+ $(AWK) -f $(top_srcdir)/build/make_exports.awk $^ > $@
-export_vars.h:
- $(AWK) -f $(top_srcdir)/build/make_var_export.awk $(EXPORT_FILES) > $@
+export_vars.h: $(HEADERS)
+ $(AWK) -f $(top_srcdir)/build/make_var_export.awk $^ > $@
apr.exp: exports.c export_vars.h
@echo "#! lib@APR_LIBNAME@.so" > $@
@@ -142,6 +120,3 @@ etags:
# DO NOT REMOVE
docs: $(INCDIR)/*.h
-
-.PHONY: delete-lib delete-exports
-.NOTPARALLEL: delete-lib delete-exports