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