1# $Id: Makefile.am 22304 2007-12-14 12:18:18Z lha $ 2 3include $(top_srcdir)/Makefile.am.common 4 5AM_CPPFLAGS += $(INCLUDE_krb4) 6 7WFLAGS += $(WFLAGS_NOIMPLICITINT) 8 9DEFS = @DEFS@ 10 11## this is horribly ugly, but automake/libtool doesn't allow us to 12## unconditionally build shared libraries, and it does not allow us to 13## link with non-installed libraries 14 15KAFS=$(top_builddir)/lib/kafs/.libs/libkafs.a 16KAFS_S=$(top_builddir)/lib/kafs/.libs/libkafs.so 17 18if KRB5 19L = \ 20 $(KAFS) \ 21 $(top_builddir)/lib/krb5/.libs/libkrb5.a \ 22 $(top_builddir)/lib/asn1/.libs/libasn1.a \ 23 $(LIB_krb4) \ 24 $(LIB_hcrypto_a) \ 25 $(LIB_com_err_a) \ 26 $(top_builddir)/lib/roken/.libs/libroken.a \ 27 $(LIB_getpwnam_r) \ 28 -lc 29 30L_shared = \ 31 $(KAFS_S) \ 32 $(top_builddir)/lib/krb5/.libs/libkrb5.so \ 33 $(top_builddir)/lib/asn1/.libs/libasn1.so \ 34 $(LIB_krb4) \ 35 $(LIB_hcrypto_so) \ 36 $(LIB_com_err_so) \ 37 $(top_builddir)/lib/roken/.libs/libroken.so \ 38 $(LIB_getpwnam_r) \ 39 -lc 40 41MOD = libsia_krb5.so 42 43else 44 45L = \ 46 $(KAFS) \ 47 $(top_builddir)/lib/kadm/.libs/libkadm.a \ 48 $(top_builddir)/lib/krb/.libs/libkrb.a \ 49 $(LIB_hcrypto_a) \ 50 $(top_builddir)/lib/com_err/.libs/libcom_err.a \ 51 $(top_builddir)/lib/roken/.libs/libroken.a \ 52 $(LIB_getpwnam_r) \ 53 -lc 54 55L_shared = \ 56 $(KAFS_S) \ 57 $(top_builddir)/lib/kadm/.libs/libkadm.so \ 58 $(top_builddir)/lib/krb/.libs/libkrb.so \ 59 $(LIB_hcrypto_so) \ 60 $(top_builddir)/lib/com_err/.libs/libcom_err.so \ 61 $(top_builddir)/lib/roken/.libs/libroken.so \ 62 $(LIB_getpwnam_r) \ 63 -lc 64 65MOD = libsia_krb4.so 66 67endif 68 69foodir = $(libdir) 70foo_DATA = $(MOD) 71 72LDFLAGS = @LDFLAGS@ -rpath $(libdir) -Wl,-hidden -Wl,-exported_symbol -Wl,siad_\* 73 74SRCS = sia.c posix_getpw.c sia_locl.h 75OBJS = sia.o posix_getpw.o 76 77libsia_krb5.so: $(OBJS) 78 @if test -f $(top_builddir)/lib/krb5/.libs/libkrb5.a; then \ 79 echo "$(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L)`"; \ 80 $(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L)`; \ 81 elif test -f $(top_builddir)/lib/krb5/.libs/libkrb5.so; then \ 82 echo "$(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L_shared)`"; \ 83 $(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L_shared)`; \ 84 else \ 85 echo "missing libraries"; exit 1; \ 86 fi 87 ostrip -x $@ 88 89libsia_krb4.so: $(OBJS) 90 @if test -f $(top_builddir)/lib/krb/.libs/libkrb.a; then \ 91 echo "$(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L)`"; \ 92 $(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L)`; \ 93 elif test -f $(top_builddir)/lib/krb/.libs/libkrb.so; then \ 94 echo "$(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L_shared)`"; \ 95 $(CC) -shared -o $@ `$(SHELL) $(srcdir)/make-rpath $(LDFLAGS) $(OBJS) $(L_shared)`; \ 96 else \ 97 echo "missing libraries"; exit 1; \ 98 fi 99 ostrip -x $@ 100 101CLEANFILES = $(MOD) $(OBJS) so_locations 102 103SUFFIXES += .c .o 104 105# XXX inline COMPILE since automake wont add it 106 107.c.o: 108 $(CC) $(DEFS) $(DEFAULT_AM_CPPFLAGS) $(INCLUDES) $(AM_CPPFLAGS) \ 109 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ 110 -c `test -f '$<' || echo '$(srcdir)/'`$< 111 112EXTRA_DIST = sia.c sia_locl.h posix_getpw.c \ 113 krb4_matrix.conf krb4+c2_matrix.conf \ 114 krb5_matrix.conf krb5+c2_matrix.conf \ 115 security.patch \ 116 make-rpath $(SRCS) 117