summaryrefslogtreecommitdiffstats
path: root/src/config/post.in
blob: 699036e180f42d8ab5a9f3fbedceeedf360fc8d0 (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
# config/post.in

check-windows::

.d: $(SRCS)
	if test "$(srcdir)" = "." ; then \
		echo 1>&2 error: cannot build dependencies with srcdir=. ; \
		echo 1>&2 "(can't distinguish generated files from source files)" ; \
		exit 1 ; \
	fi
	if test -n "$(SRCS)" ; then \
		$(CC) -M $(ALL_CFLAGS) $(SRCS) > .dtmp || exit 1 ; \
		mv -f .dtmp .d ; \
	else \
		touch .d ; \
	fi

# Generate a script for dropping in the appropriate make variables, using
# directory-specific parameters.  General substitutions independent of local
# make variables happen in depfix.sed.
depfix2.sed: Makefile $(SRCTOP)/util/depgen.sed
	echo '# automatically generated, do not edit'	>  depfix2.tmp
	echo 's;///*;/;g'				>> depfix2.tmp
	echo 's; \./; ;g'				>> depfix2.tmp
	echo 's; $(SRCTOP)/; $$(SRCTOP)/;g'		>> depfix2.tmp
	echo 's; $(srcdir)/; $$(srcdir)/;g'		>> depfix2.tmp
	echo 's; $$(srcdir)/\.\./; $(srcdir)/../;g'	>> depfix2.tmp
	echo '$(SRCTOP)' '$(myfulldir)' | sed -f $(SRCTOP)/util/depgen.sed >> depfix2.tmp
	echo 's; $(BUILDTOP)/; $$(BUILDTOP)/;g'		>> depfix2.tmp
	mv -f depfix2.tmp depfix2.sed

DEPLIBOBJNAMEFIX = sed -e 's;^\$$(OUTPRE)\([a-zA-Z0-9_\-]*\)\.\$$(OBJEXT):;\1.so \1.po &;'

.depend: .d depfix2.sed $(SRCTOP)/util/depfix.sed
	sed -f depfix2.sed < .d | sed -f $(SRCTOP)/util/depfix.sed | \
	(if test "x$(STLIBOBJS)" != "x"; then $(DEPLIBOBJNAMEFIX) ; else cat; fi ) \
	> .depend

depend-postrecurse:: .depend
	if test -n "$(SRCS)" ; then \
		sed -e '/^# +++ Dependency line eater +++/,$$d' \
			< $(srcdir)/Makefile.in | cat - .depend \
			> $(srcdir)/Makefile.in.new; \
	$(SRCTOP)/config/move-if-changed $(srcdir)/Makefile.in.new $(srcdir)/Makefile.in ; \
	else :; fi

depend:: depend-prerecurse depend-recurse depend-postrecurse
depend-prerecurse::

clean:: clean-$(WHAT)

clean-unix::
	if test -n "$(OBJS)" ; then $(RM) $(OBJS); else :; fi
	$(RM) .depend .d

clean-windows::
	$(RM) *.$(OBJEXT)
	$(RM) msvc.pdb *.err

distclean:: distclean-$(WHAT)

distclean-prerecurse::
	$(MAKE) NORECURSE=true clean

distclean-postrecurse::
	$(RM) config.log config.cache config.status Makefile

Makefiles-prerecurse:: Makefile

Makefile: $(srcdir)/Makefile.in $(thisconfigdir)/config.status \
		$(SRCTOP)/config/pre.in $(SRCTOP)/config/post.in
	cd $(thisconfigdir) && $(SHELL) config.status
$(thisconfigdir)/config.status: $(srcdir)/$(thisconfigdir)/configure
	cd $(thisconfigdir) && $(SHELL) config.status --recheck
$(srcdir)/$(thisconfigdir)/configure: $(srcdir)/$(thisconfigdir)/configure.in \
		$(SRCTOP)/aclocal.m4
	cd $(srcdir)/$(thisconfigdir) && \
		$(AUTOCONF) --localdir=$(CONFIG_RELTOPDIR) $(AUTOCONFFLAGS)

RECURSE_TARGETS=all-recurse clean-recurse distclean-recurse install-recurse \
	check-recurse depend-recurse Makefiles-recurse

$(RECURSE_TARGETS):
	@case "`echo 'x$(MFLAGS)'|sed -e 's/^x//' -e 's/ --.*$$//'`" \
		in *[ik]*) e="status=1" ;; *) e="exit 1";; esac; \
	if test -z "$(MY_SUBDIRS)" ; then \
		do_subdirs="$(SUBDIRS)" ; \
	else \
		do_subdirs="$(MY_SUBDIRS)" ; \
	fi; \
	status=0; \
	if test -n "$$do_subdirs" && test -z "$(NORECURSE)"; then \
	for i in $$do_subdirs ; do \
		if test -d $$i && test -r $$i/Makefile ; then \
		case $$i in .);; *) \
			target=`echo $@|sed s/-recurse//`; \
			echo "making $$target in $(CURRENT_DIR)$$i..."; \
			if (cd $$i ; $(MAKE) \
			    CURRENT_DIR=$(CURRENT_DIR)$$i/ $$target) then :; \
			else eval $$e; fi; \
			;; \
		esac; \
		else \
			echo "Skipping missing directory $(CURRENT_DIR)$$i" ; \
		fi; \
	done; \
	else :; \
	fi;\
	exit $$status