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