7c7d86dc90f234e351c29ef4d3928b4d91d97470
[platform/upstream/krb5.git] / src / config / post.in
1 ############################################################
2 ## config/post.in
3 ##
4
5 # in case there is no default target (very unlikely)
6 all:
7
8 check-windows:
9
10 ##############################
11 # dependency generation
12 #
13
14 depend: depend-postrecurse
15 depend-postrecurse: depend-recurse
16 depend-recurse: depend-prerecurse
17
18 depend-prerecurse:
19 depend-postrecurse:
20
21 depend-postrecurse: depend-update-makefile
22
23 ALL_DEP_SRCS= $(SRCS) $(EXTRADEPSRCS)
24
25 # be sure to check ALL_DEP_SRCS against *what it would be if SRCS and
26 # EXTRADEPSRCS are both empty*
27 $(BUILDTOP)/.depend-verify-srcdir:
28         @if test "$(srcdir)" = "." ; then \
29                 echo 1>&2 error: cannot build dependencies with srcdir=. ; \
30                 echo 1>&2 "(can't distinguish generated files from source files)" ; \
31                 echo 1>&2 "Run 'make distclean' and create a separate build dir" ; \
32                 exit 1 ; \
33         elif test -f "$(top_srcdir)/include/autoconf.h"; then \
34                 echo 1>&2 "error: generated headers found in source tree" ; \
35                 echo 1>&2 "Run 'make distclean' in source tree first" ; \
36                 exit 1 ; \
37         else \
38                 if test -r $(BUILDTOP)/.depend-verify-srcdir; then :; \
39                         else (set -x; touch $(BUILDTOP)/.depend-verify-srcdir); fi \
40         fi
41 $(BUILDTOP)/.depend-verify-et: depend-verify-et-$(COM_ERR_VERSION)
42 depend-verify-et-k5:
43         @if test -r $(BUILDTOP)/.depend-verify-et; then :; \
44                 else (set -x; touch $(BUILDTOP)/.depend-verify-et); fi
45 depend-verify-et-sys depend-verify-et-intlsys:
46         @echo 1>&2 error: cannot build dependencies using system et package
47         @exit 1
48 $(BUILDTOP)/.depend-verify-ss: depend-verify-ss-$(SS_VERSION)
49 depend-verify-ss-k5:
50         @if test -r $(BUILDTOP)/.depend-verify-ss; then :; \
51                 else (set -x; touch $(BUILDTOP)/.depend-verify-ss); fi
52 depend-verify-ss-sys:
53         @echo 1>&2 error: cannot build dependencies using system ss package
54         @exit 1
55 $(BUILDTOP)/.depend-verify-verto: depend-verify-verto-$(VERTO_VERSION)
56 depend-verify-verto-k5:
57         @if test -r $(BUILDTOP)/.depend-verify-verto; then :; \
58                 else (set -x; touch $(BUILDTOP)/.depend-verify-verto); fi
59 depend-verify-verto-sys:
60         @echo 1>&2 error: cannot build dependencies using system verto package
61         @echo 1>&2 Please configure with --without-system-verto
62         @exit 1
63 $(BUILDTOP)/.depend-verify-gcc: depend-verify-gcc-@HAVE_GCC@
64 depend-verify-gcc-yes:
65         @if test -r $(BUILDTOP)/.depend-verify-gcc; then :; \
66                 else (set -x; touch $(BUILDTOP)/.depend-verify-gcc); fi
67 depend-verify-gcc-no:
68         @echo 1>&2 error: The '"depend"' rules are written for gcc.
69         @echo 1>&2 Please use gcc, or update the rules to handle your compiler.
70         @exit 1
71
72 DEP_CFG_VERIFY = $(BUILDTOP)/.depend-verify-srcdir \
73         $(BUILDTOP)/.depend-verify-et $(BUILDTOP)/.depend-verify-ss \
74         $(BUILDTOP)/.depend-verify-verto
75 DEP_VERIFY = $(DEP_CFG_VERIFY) $(BUILDTOP)/.depend-verify-gcc
76
77 .d: $(ALL_DEP_SRCS) $(DEP_CFG_VERIFY) depend-dependencies
78         if test "$(ALL_DEP_SRCS)" != " " ; then \
79                 $(RM) .dtmp && $(MAKE) .dtmp && mv -f .dtmp .d ; \
80         else \
81                 touch .d ; \
82         fi
83
84 # These are dependencies of the depend target that do not get fed to
85 # the compiler.  Examples include generated header files.
86 depend-dependencies:
87
88 # .dtmp must *always* be out of date so that $? can be used to perform
89 # VPATH searches on the sources.
90 #
91 # NOTE: This will fail when using Make programs whose VPATH support is
92 # broken.
93 .dtmp: $(ALL_DEP_SRCS)
94         $(CC) -M -DDEPEND $(ALL_CFLAGS) $? > .dtmp
95
96 # NOTE: This will also generate spurious $(OUTPRE) and $(OBJEXT)
97 # references in rules for non-library objects in a directory where
98 # library objects happen to be built.  It's mostly harmless.
99 .depend: .d $(top_srcdir)/util/depfix.pl
100         perl $(top_srcdir)/util/depfix.pl '$(top_srcdir)' '$(mydir)' \
101                 '$(srcdir)' '$(BUILDTOP)' '$(STLIBOBJS)' < .d > .depend
102
103 # Temporarily keep the rule for removing the dependency line eater
104 # until we're sure we've gotten everything converted and excised the
105 # old stuff from Makefile.in files.
106 depend-update-makefile: .depend depend-recurse
107         if test "$(ALL_DEP_SRCS)" != " " ; then \
108                 $(CP) .depend $(srcdir)/deps.new ; \
109         else \
110                 echo "# No dependencies here." > $(srcdir)/deps.new ; \
111         fi
112         $(top_srcdir)/config/move-if-changed $(srcdir)/deps.new $(srcdir)/deps
113         sed -e '/^# +++ Dependency line eater +++/,$$d' \
114                 < $(srcdir)/Makefile.in > $(srcdir)/Makefile.in.new
115         $(top_srcdir)/config/move-if-changed $(srcdir)/Makefile.in.new \
116                 $(srcdir)/Makefile.in
117
118 DEPTARGETS = .depend .d .dtmp $(DEP_VERIFY)
119 DEPTARGETS_CLEAN = .depend .d .dtmp $(DEPTARGETS_@srcdir@_@CONFIG_RELTOPDIR@)
120 DEPTARGETS_@top_srcdir@_. = $(DEP_VERIFY)
121
122 # Clear out dependencies.  Should only be used temporarily, e.g., while
123 # moving or renaming headers and then rebuilding dependencies.
124 undepend: undepend-postrecurse
125 undepend-recurse:
126 undepend-postrecurse: undepend-recurse
127         if test -n "$(SRCS)" ; then \
128                 sed -e '/^# +++ Dependency line eater +++/,$$d' \
129                         < $(srcdir)/Makefile.in \
130                         > $(srcdir)/Makefile.in.new ;\
131                 echo "# +++ Dependency line eater +++" >> $(srcdir)/Makefile.in.new ;\
132                 echo "# (dependencies temporarily removed)" >> $(srcdir)/Makefile.in.new ;\
133                 $(top_srcdir)/config/move-if-changed $(srcdir)/Makefile.in.new $(srcdir)/Makefile.in;\
134         else :; fi
135
136 #
137 # end dependency generation
138 ##############################
139
140 # Python tests
141 check-unix: check-pytests-@HAVE_PYTHON@
142
143 # Makefile.in should add rules to check-pytests to execute Python tests.
144 check-pytests-yes: check-pytests
145 check-pytests-no:
146 check-pytests:
147
148 # cmocka tests
149 check-unix: check-cmocka-@HAVE_CMOCKA@
150
151 check-cmocka-yes: check-cmocka
152 check-cmocka-no:
153 check-cmocka:
154
155 clean: clean-$(WHAT)
156
157 clean-unix::
158         $(RM) $(OBJS) $(DEPTARGETS_CLEAN) $(EXTRA_FILES)
159         $(RM) et-[ch]-*.et et-[ch]-*.[ch] testlog
160         -$(RM) -r testdir
161
162 clean-windows::
163         $(RM) *.$(OBJEXT)
164         $(RM) msvc.pdb *.err
165
166 distclean: distclean-$(WHAT)
167
168 distclean-normal-clean:
169         $(MAKE) NORECURSE=true clean
170 distclean-prerecurse: distclean-normal-clean
171 distclean-nuke-configure-state:
172         $(RM) config.log config.cache config.status Makefile
173 distclean-postrecurse: distclean-nuke-configure-state
174
175 Makefiles-prerecurse: Makefile
176
177 # mydir = relative path from top to this Makefile
178 Makefile: $(srcdir)/Makefile.in $(srcdir)/deps $(BUILDTOP)/config.status \
179                 $(top_srcdir)/config/pre.in $(top_srcdir)/config/post.in
180         (cd $(BUILDTOP) && $(SHELL) config.status $(mydir)/Makefile)
181 $(BUILDTOP)/config.status: $(top_srcdir)/configure
182         (cd $(BUILDTOP) && $(SHELL) config.status --recheck)
183 $(top_srcdir)/configure: @MAINT@ \
184                 $(top_srcdir)/configure.in \
185                 $(top_srcdir)/patchlevel.h \
186                 $(top_srcdir)/aclocal.m4
187         (cd $(top_srcdir) && \
188                 $(AUTOCONF) -f --include=$(CONFIG_RELTOPDIR) $(AUTOCONFFLAGS))
189
190 RECURSE_TARGETS=all-recurse clean-recurse distclean-recurse install-recurse \
191         generate-files-mac-recurse \
192         check-recurse depend-recurse undepend-recurse \
193         Makefiles-recurse install-headers-recurse
194
195 # MY_SUBDIRS overrides any setting of SUBDIRS generated by the
196 # configure script that generated this Makefile.  This is needed when
197 # the configure script that produced this Makefile creates multiple
198 # Makefiles in different directories; the setting of SUBDIRS will be
199 # the same in each.
200 #
201 # LOCAL_SUBDIRS seems to account for the case where the configure
202 # script doesn't call any other subsidiary configure scripts, but
203 # generates multiple Makefiles.
204 $(RECURSE_TARGETS):
205         @case "`echo 'x$(MFLAGS)'|sed -e 's/^x//' -e 's/ --.*$$//'`" \
206                 in *[ik]*) e="status=1" ;; *) e="exit 1";; esac; \
207         do_subdirs="$(SUBDIRS)" ; \
208         status=0; \
209         if test -n "$$do_subdirs" && test -z "$(NORECURSE)"; then \
210         for i in $$do_subdirs ; do \
211                 if test -d $$i && test -r $$i/Makefile ; then \
212                 case $$i in .);; *) \
213                         target=`echo $@|sed s/-recurse//`; \
214                         echo "making $$target in $(CURRENT_DIR)$$i..."; \
215                         if (cd $$i ; $(MAKE) \
216                             CURRENT_DIR=$(CURRENT_DIR)$$i/ $$target) then :; \
217                         else eval $$e; fi; \
218                         ;; \
219                 esac; \
220                 else \
221                         echo "Skipping missing directory $(CURRENT_DIR)$$i" ; \
222                 fi; \
223         done; \
224         else :; \
225         fi;\
226         exit $$status
227
228 ##
229 ## end of post.in
230 ############################################################