summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 42139ea97e7d3f178aeda3c453465e8b1ba6025e (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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#
# 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
INCDIR1=../include
INCLUDES=-I$(INCDIR) -I$(INCDIR1)

#
# Macros for target determination
#
SUBDIRS=@SUBDIRS@
CLEAN_SUBDIRS= . test build
INSTALL_SUBDIRS=@INSTALL_SUBDIRS@

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.c apr.exp

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

CLEAN_TARGETS = apr.exp exports.c export_vars.c apr-config.out \
	build/apr_rules.out
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

prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
libdir=@libdir@
includedir=@includedir@
installbuilddir=@installbuilddir@
srcdir=@srcdir@
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
	sed 's,^\(location=\).*$$,\1installed,' < apr-config > $@

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

install: $(TARGET_LIB) apr-config.out build/apr_rules.out
	if [ ! -d $(DESTDIR)$(includedir) ]; then \
	    $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(includedir); \
	fi;
	cp -p $(top_srcdir)/include/*.h $(DESTDIR)$(includedir);

	if test -n "$(top_blddir)"; then \
	    cp -p $(top_blddir)/include/*.h $(DESTDIR)$(includedir); \
	fi;
	if [ ! -d $(DESTDIR)$(libdir) ]; then \
	    $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(libdir); \
	fi;
	$(LIBTOOL) --mode=install cp $(TARGET_LIB) $(DESTDIR)$(libdir)
	$(LIBTOOL) --mode=install cp apr.exp $(DESTDIR)$(libdir)
	if [ ! -d $(DESTDIR)$(installbuilddir) ]; then \
	   	$(top_srcdir)/build/mkdir.sh $(DESTDIR)$(installbuilddir); \
	fi; 
	if [ -f libtool ]; then \
		$(LIBTOOL) --mode=install cp libtool $(DESTDIR)$(installbuilddir); \
	fi;
	if [ -f shlibtool ]; then \
		$(LIBTOOL) --mode=install cp shlibtool $(DESTDIR)$(installbuilddir); \
	fi;
	for f in mkdir.sh make_exports.awk make_var_export.awk; do \
	        cp $(top_srcdir)/build/$${f} $(DESTDIR)$(installbuilddir); \
	done
	cp build/apr_rules.out $(DESTDIR)$(installbuilddir)/apr_rules.mk
	if [ ! -d $(DESTDIR)$(bindir) ]; then \
	    $(top_srcdir)/build/mkdir.sh $(DESTDIR)$(bindir); \
	fi;
	$(LIBTOOL) --mode=install cp apr-config.out $(DESTDIR)$(bindir)/apr-config
	chmod 755 $(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):
	@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

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

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

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

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

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

.PHONY: delete-lib delete-exports
.NOTPARALLEL: delete-lib delete-exports