xref: /netbsd-src/crypto/external/bsd/heimdal/dist/cf/Makefile.am.common (revision dd75ac5b443e967e26b4d18cc8cd5eb98512bfbf)
1# Id
2
3SUFFIXES = .et .h .pc.in .pc
4
5DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
6
7AM_CPPFLAGS = $(INCLUDES_roken)
8
9if do_roken_rename
10ROKEN_RENAME = -DROKEN_RENAME
11endif
12
13AM_CFLAGS = $(WFLAGS)
14
15CP	= cp
16
17## set build_HEADERZ to headers that should just be installed in build tree
18
19buildinclude = $(top_builddir)/include
20
21## these aren't detected by automake
22LIB_XauReadAuth		= @LIB_XauReadAuth@
23LIB_crypt		= @LIB_crypt@
24LIB_dbm_firstkey	= @LIB_dbm_firstkey@
25LIB_dbopen		= @LIB_dbopen@
26LIB_dlopen		= @LIB_dlopen@
27LIB_dn_expand		= @LIB_dn_expand@
28LIB_el_init		= @LIB_el_init@
29LIB_getattr		= @LIB_getattr@
30LIB_gethostbyname	= @LIB_gethostbyname@
31LIB_getpwent_r		= @LIB_getpwent_r@
32LIB_getpwnam_r		= @LIB_getpwnam_r@
33LIB_getsockopt		= @LIB_getsockopt@
34LIB_logout		= @LIB_logout@
35LIB_logwtmp		= @LIB_logwtmp@
36LIB_odm_initialize	= @LIB_odm_initialize@
37LIB_openpty		= @LIB_openpty@
38LIB_pidfile		= @LIB_pidfile@
39LIB_res_search		= @LIB_res_search@
40LIB_setpcred		= @LIB_setpcred@
41LIB_setsockopt		= @LIB_setsockopt@
42LIB_socket		= @LIB_socket@
43LIB_syslog		= @LIB_syslog@
44LIB_tgetent		= @LIB_tgetent@
45LIB_com_err		= @LIB_com_err@
46LIB_door_create		= @LIB_door_create@
47
48LIB_openssl_crypto      = @LIB_openssl_crypto@
49INCLUDE_openssl_crypto  = @INCLUDE_openssl_crypto@
50
51INCLUDE_krb4 = @INCLUDE_krb4@
52LIB_krb4 = @LIB_krb4@
53
54INCLUDE_openldap = @INCLUDE_openldap@
55LIB_openldap = @LIB_openldap@
56
57INCLUDE_readline = @INCLUDE_readline@
58LIB_readline = @LIB_readline@
59
60LEXLIB = @LEXLIB@
61
62libexec_heimdaldir = $(libexecdir)/heimdal
63
64install-suid-programs:
65	@foo='$(bin_SUIDS)'; \
66	for file in $$foo; do \
67		x=$(DESTDIR)$(bindir)/$$file; \
68		if chown 0:0 $$x && chmod u+s $$x; then :; else \
69			echo "*"; \
70			echo "* Failed to install $$x setuid root"; \
71			echo "*"; \
72		fi; \
73	done
74
75install-exec-local: install-suid-programs
76
77codesign-all:
78	@if [ X"$$CODE_SIGN_IDENTITY" != X ] ; then \
79		foo='$(bin_PROGRAMS) $(sbin_PROGRAMS) $(libexec_PROGRAMS)' ; \
80		for file in $$foo ; do \
81			echo "CODESIGN $$file" ; \
82			codesign -f -s "$$CODE_SIGN_IDENTITY" $$file || exit 1 ; \
83		done ; \
84	fi
85
86
87
88all-local: codesign-all
89
90install-build-headers:: $(include_HEADERS) $(dist_include_HEADERS) $(nodist_include_HEADERS) $(build_HEADERZ) $(nobase_include_HEADERS) $(noinst_HEADERS)
91	@foo='$(include_HEADERS) $(dist_include_HEADERS) $(nodist_include_HEADERS) $(build_HEADERZ) $(noinst_HEADERS)'; \
92	for f in $$foo; do \
93		f=`basename $$f`; \
94		if test -f "$(srcdir)/$$f"; then file="$(srcdir)/$$f"; \
95		else file="$$f"; fi; \
96		if cmp -s  $$file $(buildinclude)/$$f 2> /dev/null ; then \
97		: ; else \
98			echo " $(CP) $$file $(buildinclude)/$$f"; \
99			$(CP) $$file $(buildinclude)/$$f || true; \
100		fi ; \
101	done ; \
102	foo='$(nobase_include_HEADERS)'; \
103	for f in $$foo; do \
104		if test -f "$(srcdir)/$$f"; then file="$(srcdir)/$$f"; \
105		else file="$$f"; fi; \
106		$(mkdir_p) $(buildinclude)/`dirname $$f` ; \
107		if cmp -s  $$file $(buildinclude)/$$f 2> /dev/null ; then \
108		: ; else \
109			echo " $(CP) $$file $(buildinclude)/$$f"; \
110			$(CP) $$file $(buildinclude)/$$f; \
111		fi ; \
112	done
113
114all-local: install-build-headers
115
116check-local::
117	@if test '$(CHECK_LOCAL)' = "no-check-local"; then \
118	  foo=''; elif test '$(CHECK_LOCAL)'; then \
119	  foo='$(CHECK_LOCAL)'; else \
120	  foo='$(PROGRAMS)'; fi; \
121	  if test "$$foo"; then \
122	  failed=0; all=0; \
123	  for i in $$foo; do \
124	    all=`expr $$all + 1`; \
125	    if (./$$i --version && ./$$i --help) > /dev/null 2>&1; then \
126	      echo "PASS: $$i"; \
127	    else \
128	      echo "FAIL: $$i"; \
129	      failed=`expr $$failed + 1`; \
130	    fi; \
131	  done; \
132	  if test "$$failed" -eq 0; then \
133	    banner="All $$all tests passed"; \
134	  else \
135	    banner="$$failed of $$all tests failed"; \
136	  fi; \
137	  dashes=`echo "$$banner" | sed s/./=/g`; \
138	  echo "$$dashes"; \
139	  echo "$$banner"; \
140	  echo "$$dashes"; \
141	  test "$$failed" -eq 0 || exit 1; \
142	fi
143
144SUFFIXES += .x .z .hx
145
146# It's useful for debugging to format generated sources.  The default for all
147# clang-format styles is to sort includes, but in many cases in-tree we really
148# don't want to do that.
149.x.c:
150	@if [ -z "$(CLANG_FORMAT)" ]; then \
151	    cmp -s $< $@ 2> /dev/null || cp $< $@; \
152	else \
153	    cp $< $@.tmp.c; \
154            $(CLANG_FORMAT) -style='{BasedOnStyle: Chromium, SortIncludes: false}' -i $@.tmp.c; \
155	    cmp -s $@.tmp.c $@ 2> /dev/null || mv $@.tmp.c $@; \
156	fi
157
158.hx.h:
159	@cmp -s $< $@ 2> /dev/null || cp $< $@;
160
161SUFFIXES += .1 .3 .5 .7 .8 .cat1 .cat3 .cat5 .cat7 .cat8
162
163NROFF_MAN = groff -mandoc -Tascii
164#NROFF_MAN = nroff -man
165.1.cat1:
166	$(NROFF_MAN) $< > $@
167.3.cat3:
168	$(NROFF_MAN) $< > $@
169.5.cat5:
170	$(NROFF_MAN) $< > $@
171.7.cat7:
172	$(NROFF_MAN) $< > $@
173.8.cat8:
174	$(NROFF_MAN) $< > $@
175
176## MAINTAINERCLEANFILES +=
177
178dist-cat1-mans:
179	@foo='$(man1_MANS)'; \
180	bar='$(man_MANS)'; \
181	for i in $$bar; do \
182	case $$i in \
183	*.1) foo="$$foo $$i";; \
184	esac; done ;\
185	for i in $$foo; do \
186		x=`echo $$i | sed 's/\.[^.]*$$/.cat1/'`; \
187		echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
188		$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
189	done
190
191dist-cat3-mans:
192	@foo='$(man3_MANS)'; \
193	bar='$(man_MANS)'; \
194	for i in $$bar; do \
195	case $$i in \
196	*.3) foo="$$foo $$i";; \
197	esac; done ;\
198	for i in $$foo; do \
199		x=`echo $$i | sed 's/\.[^.]*$$/.cat3/'`; \
200		echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
201		$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
202	done
203
204dist-cat5-mans:
205	@foo='$(man5_MANS)'; \
206	bar='$(man_MANS)'; \
207	for i in $$bar; do \
208	case $$i in \
209	*.5) foo="$$foo $$i";; \
210	esac; done ;\
211	for i in $$foo; do \
212		x=`echo $$i | sed 's/\.[^.]*$$/.cat5/'`; \
213		echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
214		$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
215	done
216
217dist-cat7-mans:
218	@foo='$(man7_MANS)'; \
219	bar='$(man_MANS)'; \
220	for i in $$bar; do \
221	case $$i in \
222	*.7) foo="$$foo $$i";; \
223	esac; done ;\
224	for i in $$foo; do \
225		x=`echo $$i | sed 's/\.[^.]*$$/.cat7/'`; \
226		echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
227		$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
228	done
229
230dist-cat8-mans:
231	@foo='$(man8_MANS)'; \
232	bar='$(man_MANS)'; \
233	for i in $$bar; do \
234	case $$i in \
235	*.8) foo="$$foo $$i";; \
236	esac; done ;\
237	for i in $$foo; do \
238		x=`echo $$i | sed 's/\.[^.]*$$/.cat8/'`; \
239		echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
240		$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
241	done
242
243dist-hook: dist-cat1-mans dist-cat3-mans dist-cat5-mans dist-cat7-mans dist-cat8-mans
244
245install-cat-mans:
246	$(SHELL) $(top_srcdir)/cf/install-catman.sh install "$(INSTALL_DATA)" "$(mkinstalldirs)" "$(srcdir)" "$(DESTDIR)$(mandir)" '$(CATMANEXT)' $(man_MANS) $(man1_MANS) $(man3_MANS) $(man5_MANS) $(man7_MANS) $(man8_MANS)
247
248uninstall-cat-mans:
249	$(SHELL) $(top_srcdir)/cf/install-catman.sh uninstall "$(INSTALL_DATA)" "$(mkinstalldirs)" "$(srcdir)" "$(DESTDIR)$(mandir)" '$(CATMANEXT)' $(man_MANS) $(man1_MANS) $(man3_MANS) $(man5_MANS) $(man7_MANS) $(man8_MANS)
250
251install-data-hook: install-cat-mans
252uninstall-hook: uninstall-cat-mans
253
254
255.et.h:
256	$(COMPILE_ET) $<
257.et.c:
258	$(COMPILE_ET) $<
259
260if NO_AFS
261LIB_kafs =
262else
263LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS)
264endif
265
266if KRB5
267LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la \
268	$(top_builddir)/lib/asn1/libasn1.la
269LIB_gssapi = $(top_builddir)/lib/gssapi/libgssapi.la
270endif
271
272LIB_heimbase = $(top_builddir)/lib/base/libheimbase.la
273
274if DCE
275LIB_kdfs = $(top_builddir)/lib/kdfs/libkdfs.la
276endif
277
278#
279# Useful target for debugging
280#
281
282check-valgrind:
283	tobjdir=`cd $(top_builddir) && pwd` ; \
284	tsrcdir=`cd $(top_srcdir) && pwd` ; \
285	env TESTS_ENVIRONMENT="$${tsrcdir}/cf/maybe-valgrind.sh -s $${tsrcdir} -o $${tobjdir}" make check
286
287#
288# Target to please samba build farm, builds distfiles in-tree.
289# Will break when automake changes...
290#
291
292distdir-in-tree: $(DISTFILES) $(INFO_DEPS)
293	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
294	  if test "$$subdir" != .; then \
295	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) distdir-in-tree) ; \
296	  fi ; \
297	done
298
299
300#silent-rules
301
302heim_verbose = $(heim_verbose_$(V))
303heim_verbose_ = $(heim_verbose_$(AM_DEFAULT_VERBOSITY))
304heim_verbose_0 = @echo "  GEN    "$@;
305