summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 6d3b9127eb8ea84da96a73672535faad3f5f3469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

srcdir=@srcdir@
VPATH=@srcdir@
top_srcdir=@apr_srcdir@
top_blddir=@apr_builddir@

#
# APR (Apache Portable Runtime) library Makefile.
#
CPP = @CPP@

# get substituted into some targets
APR_MAJOR_VERSION=@APR_MAJOR_VERSION@

#
# Macros for supporting directories
#
INCDIR=./include
OSDIR=$(top_srcdir)/include/arch/@OSDIR@
DEFOSDIR=$(INCDIR)/arch/@DEFAULT_OSDIR@
INCLUDES=-I$(INCDIR) -I$(OSDIR) -I$(DEFOSDIR) -I$(top_srcdir)/include/arch/@DEFAULT_OSDIR@ -I$(top_srcdir)/include

#
# Macros for target determination
#
CLEAN_SUBDIRS= test
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@

TARGET_LIB = lib@APR_LIBNAME@.la
APR_PCFILE = apr-$(APR_MAJOR_VERSION).pc
APR_CONFIG = apr-$(APR_MAJOR_VERSION)-config
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@

#
# Rules for building specific targets, starting with 'all' for
# building the entire package.
#
TARGETS = $(TARGET_LIB) apr.exp apr-config.out build/apr_rules.out

LT_VERSION = @LT_VERSION@

# bring in rules.mk for standard functionality
@INCLUDE_RULES@
@INCLUDE_OUTPUTS@

CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
	build/apr_rules.out
DISTCLEAN_TARGETS = config.cache config.log config.status \
	include/apr.h include/arch/unix/apr_private.h \
	libtool $(APR_CONFIG) build/apr_rules.mk apr.pc \
	build/pkg/pkginfo
EXTRACLEAN_TARGETS = configure aclocal.m4 include/arch/unix/apr_private.h.in \
	build-outputs.mk build/ltcf-c.sh build/aclocal.m4 \
	build/ltconfig build/ltmain.sh \
	build/argz.m4 build/libtool.m4 build/ltoptions.m4 \
	build/ltsugar.m4 build/ltversion.m4 build/lt~obsolete.m4

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
installbuilddir=@installbuilddir@

# Create apr-config script suitable for the install tree
apr-config.out: $(APR_CONFIG)
	sed 's,^\(location=\).*$$,\1installed,' < $(APR_CONFIG) > $@

# Create apr_rules.mk suitable for the install tree
build/apr_rules.out: build/apr_rules.mk
	sed -e 's,^\(apr_build.*=\).*$$,\1$(installbuilddir),' -e 's,^\(top_build.*=\).*$$,\1$(installbuilddir),' < build/apr_rules.mk > $@

install: $(TARGETS)
	$(APR_MKDIR) $(DESTDIR)$(libdir) $(DESTDIR)$(bindir) $(DESTDIR)$(installbuilddir) \
		     $(DESTDIR)$(libdir)/pkgconfig $(DESTDIR)$(includedir)
	$(INSTALL_DATA) $(top_blddir)/include/apr.h $(DESTDIR)$(includedir)
	for f in $(top_srcdir)/include/apr_*.h; do \
	    $(INSTALL_DATA) $${f} $(DESTDIR)$(includedir); \
	done
	$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(TARGET_LIB) $(DESTDIR)$(libdir)
	$(INSTALL_DATA) apr.exp $(DESTDIR)$(libdir)/apr.exp
	$(INSTALL_DATA) apr.pc $(DESTDIR)$(libdir)/pkgconfig/$(APR_PCFILE)
	for f in libtool shlibtool; do \
	    if test -f $${f}; then $(INSTALL) -m 755 $${f} $(DESTDIR)$(installbuilddir); fi; \
	done
	$(INSTALL) -m 755 $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir)
	for f in make_exports.awk make_var_export.awk; do \
	    $(INSTALL_DATA) $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
	done
	$(INSTALL_DATA) build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
	$(INSTALL) -m 755 apr-config.out $(DESTDIR)$(bindir)/$(APR_CONFIG)
	@if [ $(INSTALL_SUBDIRS) != "none" ]; then \
            for i in $(INSTALL_SUBDIRS); do \
	        ( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
	    done \
	fi

$(TARGET_LIB): $(OBJECTS)
	$(LINK) @lib_target@ $(ALL_LIBS)

exports.c: $(HEADERS)
	$(APR_MKEXPORT) $(HEADERS) > $@

export_vars.c: $(HEADERS)
	$(APR_MKVAREXPORT) $(HEADERS) > $@

apr.exp: exports.c export_vars.c
	@echo "#! lib@APR_LIBNAME@.so" > $@
	@echo "* This file was AUTOGENERATED at build time." >> $@
	@echo "* Please do not edit by hand." >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) exports.c | grep "ap_hack_" | sed -e 's/^.*[)]\(.*\);$$/\1/' >> $@
	$(CPP) $(ALL_CPPFLAGS) $(ALL_INCLUDES) export_vars.c | sed -e 's/^\#[^!]*//' | sed -e '/^$$/d' >> $@

dox:
	doxygen $(top_srcdir)/docs/doxygen.conf

gcov: 
	@build/run-gcov.sh

test: check
check: $(TARGET_LIB)
	cd test && $(MAKE) all check

etags:
	etags `find . -name '*.[ch]'`

# DO NOT REMOVE
docs: $(INCDIR)/*.h