cf: Check for OpenSSL FIPS
[heimdal.git] / cf / Makefile.am.common
blob90921fe46b961278f9e645ce034d35ca883aae06
1 # $Id$
3 SUFFIXES = .et .h .pc.in .pc
5 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include
7 AM_CPPFLAGS = $(INCLUDES_roken)
9 if do_roken_rename
10 ROKEN_RENAME = -DROKEN_RENAME
11 endif
13 AM_CFLAGS = $(WFLAGS)
15 CLANG_FORMAT_STYLE = '{BasedOnStyle: Mozilla, AlwaysBreakAfterReturnType: TopLevelDefinitions, IndentWidth: 4, SortIncludes: false}'
17 CP      = cp
19 ## set build_HEADERZ to headers that should just be installed in build tree
21 buildinclude = $(top_builddir)/include
23 ## these aren't detected by automake
24 LIB_XauReadAuth         = @LIB_XauReadAuth@
25 LIB_crypt               = @LIB_crypt@
26 LIB_dbm_firstkey        = @LIB_dbm_firstkey@
27 LIB_dbopen              = @LIB_dbopen@
28 LIB_dlopen              = @LIB_dlopen@
29 LIB_dn_expand           = @LIB_dn_expand@
30 LIB_el_init             = @LIB_el_init@
31 LIB_getattr             = @LIB_getattr@
32 LIB_gethostbyname       = @LIB_gethostbyname@
33 LIB_getpwent_r          = @LIB_getpwent_r@
34 LIB_getpwnam_r          = @LIB_getpwnam_r@
35 LIB_getsockopt          = @LIB_getsockopt@
36 LIB_odm_initialize      = @LIB_odm_initialize@
37 LIB_openpty             = @LIB_openpty@
38 LIB_pidfile             = @LIB_pidfile@
39 LIB_res_search          = @LIB_res_search@
40 LIB_setpcred            = @LIB_setpcred@
41 LIB_setsockopt          = @LIB_setsockopt@
42 LIB_socket              = @LIB_socket@
43 LIB_syslog              = @LIB_syslog@
44 LIB_tgetent             = @LIB_tgetent@
45 LIB_com_err             = @LIB_com_err@
46 LIB_door_create         = @LIB_door_create@
48 LIB_openssl_crypto      = @LIB_openssl_crypto@
49 INCLUDE_openssl_crypto  = @INCLUDE_openssl_crypto@
51 INCLUDE_krb4 = @INCLUDE_krb4@
52 LIB_krb4 = @LIB_krb4@
54 INCLUDE_openldap = @INCLUDE_openldap@
55 LIB_openldap = @LIB_openldap@
57 INCLUDE_readline = @INCLUDE_readline@
58 LIB_readline = @LIB_readline@
60 LEXLIB = @LEXLIB@
62 libexec_heimdaldir = $(libexecdir)/heimdal
64 install-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
75 install-exec-local: install-suid-programs
77 codesign-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         
88 all-local: codesign-all
90 install-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
114 all-local: install-build-headers
116 check-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
144 SUFFIXES += .x .z
146 SUFFIXES += .1 .3 .5 .7 .8 .cat1 .cat3 .cat5 .cat7 .cat8
148 NROFF_MAN = groff -mandoc -Tascii
149 #NROFF_MAN = nroff -man
150 .1.cat1:
151         $(NROFF_MAN) $< > $@
152 .3.cat3:
153         $(NROFF_MAN) $< > $@
154 .5.cat5:
155         $(NROFF_MAN) $< > $@
156 .7.cat7:
157         $(NROFF_MAN) $< > $@
158 .8.cat8:
159         $(NROFF_MAN) $< > $@
161 ## MAINTAINERCLEANFILES += 
163 dist-cat1-mans:
164         @foo='$(man1_MANS)'; \
165         bar='$(man_MANS)'; \
166         for i in $$bar; do \
167         case $$i in \
168         *.1) foo="$$foo $$i";; \
169         esac; done ;\
170         for i in $$foo; do \
171                 x=`echo $$i | sed 's/\.[^.]*$$/.cat1/'`; \
172                 echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
173                 $(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
174         done
176 dist-cat3-mans:
177         @foo='$(man3_MANS)'; \
178         bar='$(man_MANS)'; \
179         for i in $$bar; do \
180         case $$i in \
181         *.3) foo="$$foo $$i";; \
182         esac; done ;\
183         for i in $$foo; do \
184                 x=`echo $$i | sed 's/\.[^.]*$$/.cat3/'`; \
185                 echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
186                 $(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
187         done
189 dist-cat5-mans:
190         @foo='$(man5_MANS)'; \
191         bar='$(man_MANS)'; \
192         for i in $$bar; do \
193         case $$i in \
194         *.5) foo="$$foo $$i";; \
195         esac; done ;\
196         for i in $$foo; do \
197                 x=`echo $$i | sed 's/\.[^.]*$$/.cat5/'`; \
198                 echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
199                 $(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
200         done
202 dist-cat7-mans:
203         @foo='$(man7_MANS)'; \
204         bar='$(man_MANS)'; \
205         for i in $$bar; do \
206         case $$i in \
207         *.7) foo="$$foo $$i";; \
208         esac; done ;\
209         for i in $$foo; do \
210                 x=`echo $$i | sed 's/\.[^.]*$$/.cat7/'`; \
211                 echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
212                 $(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
213         done
215 dist-cat8-mans:
216         @foo='$(man8_MANS)'; \
217         bar='$(man_MANS)'; \
218         for i in $$bar; do \
219         case $$i in \
220         *.8) foo="$$foo $$i";; \
221         esac; done ;\
222         for i in $$foo; do \
223                 x=`echo $$i | sed 's/\.[^.]*$$/.cat8/'`; \
224                 echo "$(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x"; \
225                 $(NROFF_MAN) $(srcdir)/$$i > $(distdir)/$$x; \
226         done
228 dist-hook: dist-cat1-mans dist-cat3-mans dist-cat5-mans dist-cat7-mans dist-cat8-mans
230 install-cat-mans:
231         $(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)
233 uninstall-cat-mans:
234         $(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)
236 install-data-hook: install-cat-mans
237 uninstall-hook: uninstall-cat-mans
240 .et.h:
241         $(COMPILE_ET) $<
242 .et.c:
243         $(COMPILE_ET) $<
245 if NO_AFS
246 LIB_kafs =
247 else
248 LIB_kafs = $(top_builddir)/lib/kafs/libkafs.la $(AIX_EXTRA_KAFS)
249 endif
251 if KRB5
252 LIB_krb5 = $(top_builddir)/lib/krb5/libkrb5.la \
253         $(top_builddir)/lib/asn1/libasn1.la
254 LIB_gssapi = $(top_builddir)/lib/gssapi/libgssapi.la
255 endif
257 LIB_heimbase = $(top_builddir)/lib/base/libheimbase.la
259 if DCE
260 LIB_kdfs = $(top_builddir)/lib/kdfs/libkdfs.la
261 endif
264 # Useful target for debugging
267 check-valgrind:
268         tobjdir=`cd $(top_builddir) && pwd` ; \
269         tsrcdir=`cd $(top_srcdir) && pwd` ; \
270         env TESTS_ENVIRONMENT="$${tsrcdir}/cf/maybe-valgrind.sh -s $${tsrcdir} -o $${tobjdir}" make check
273 # Target to please samba build farm, builds distfiles in-tree.
274 # Will break when automake changes...
277 distdir-in-tree: $(DISTFILES) $(INFO_DEPS)
278         list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
279           if test "$$subdir" != .; then \
280           (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) distdir-in-tree) ; \
281           fi ; \
282         done
285 #silent-rules
287 heim_verbose = $(heim_verbose_$(V))
288 heim_verbose_ = $(heim_verbose_$(AM_DEFAULT_VERBOSITY))
289 heim_verbose_0 = @echo "  GEN    "$@;
291 if ENABLE_GCOV
292 AM_CFLAGS += --coverage --no-inline
293 AM_LDFLAGS = -lgcov
294 endif