]> arthur.barton.de Git - netatalk.git/blob - etc/uams/Makefile
*** empty log message ***
[netatalk.git] / etc / uams / Makefile
1
2 ##########################################################################
3
4 SRC = uams_pam.c uams_passwd.c uams_randnum.c uams_guest.c uams_dhx_pam.c \
5       uams_dhx_passwd.c
6 OBJ = uams_pam.o uams_passwd.o uams_randnum.o uams_guest.o uams_dhx_pam.o \
7       uams_dhx_passwd.o
8 SHAREDOBJS = uams_pam.so uams_passwd.so uams_randnum.so uams_guest.so \
9              uams_dhx_pam.so uams_dhx_passwd.so
10
11 CFLAGS= -I../../include ${CSHAREDFLAGS} ${DEFS} ${AFSDEFS} ${OPTOPTS} 
12 TAGSFILE=       tags
13 CC=     cc
14 INSTALL=        install
15
16 SUBDIRS=
17
18 all:: 
19         if [ x"${KRBDIR}" != x ]; then \
20             KRBLIBS="-lkrb -ldes"; \
21             KRBLIBDIRS="-L${KRBDIR}/lib"; \
22             KRBINCPATH="-I${KRBDIR}/include"; \
23             KRBDEFS="-DKRB"; \
24         fi; \
25         if [ x"${AFSDIR}" != x ]; then \
26             AFSLIBS="-lkauth -lprot -lubik -lauth -lsys -lrxkad -lrx -laudit \
27                 -llwp -lcmd -lcom_err ${AFSDIR}/lib/afs/util.a -ldes"; \
28             AFSLIBDIRS="-L${AFSDIR}/lib -L${AFSDIR}/lib/afs"; \
29             AFSINCPATH="-I${AFSDIR}/include"; \
30             AFSDEFS="-DAFS"; \
31         fi; \
32         if [ x"${DESDIR}" != x ]; then \
33             CRYPTOLIBS="-ldes"; \
34             if [ "${DESDIR}" != "/usr" ]; then \
35               CRYPTOLIBDIRS="-L${DESDIR}/lib"; \
36               CRYPTOINCPATH="-I${DESDIR}/include"; \
37             fi; \
38             CRYPTODEFS="-DUAM_RNDNUM"; \
39         fi; \
40         if [ x"${CRYPTODIR}" != x ]; then \
41             CRYPTOLIBS="-lcrypto"; \
42             if [ "${CRYPTODIR}" != "/usr" ]; then \
43               CRYPTOLIBDIRS="-L${CRYPTODIR}/lib"; \
44               CRYPTOINCPATH="-I${CRYPTODIR}/include -I${CRYPTODIR}/include/openssl"; \
45             fi; \
46             CRYPTODEFS="-DUAM_RNDNUM -DUAM_DHX"; \
47         fi; \
48         if [ x"${PAMDIR}" != x ]; then \
49             PAMLIBS="-lpam"; \
50             if [ "${PAMDIR}" != "/usr" ]; then \
51               PAMLIBDIRS="-L${PAMDIR}/lib"; \
52               PAMINCPATH="-I${PAMDIR}/include"; \
53             fi; \
54             PAMDEFS="-DUSE_PAM"; \
55         fi; \
56         if [ x"${CRACKDIR}" != x ]; then \
57             CRACKLIBS="-lcrack"; \
58             if [ "${CRACKDIR}" != "/usr" ]; then \
59               CRACKLIBDIRS="-L${CRACKDIR}/lib"; \
60               CRACKINCPATH="-I${CRACKDIR}/include"; \
61             fi; \
62             CRACKDEFS="-DUSE_CRACKLIB -D_PATH_CRACKLIB=\\\"/usr/lib/cracklib_dict\\\""; \
63         fi; \
64         if [ -f /lib/libcrypt.a -o -f /usr/lib/libcrypt.a ] ; then \
65            if [ x"${USE_CRYPTLIB}" != x"no" ]; then \
66             CRYPTLIB="-lcrypt"; \
67            fi; \
68         fi; \
69         if [ ! -f /usr/include/crypt.h -a ! -f /usr/local/include/crypt.h ]; then \
70             CRYPTDEFS="-DNO_CRYPT_H"; \
71         fi; \
72         ${MAKE} ${MFLAGS} CC="${CC}" ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" \
73             OPTOPTS="${OPTOPTS}" DESDIR="${DESDIR}" \
74             PAMDIR="${PAMDIR}" \
75             KRBLIBS="$${KRBLIBS}" KRBLIBDIRS="$${KRBLIBDIRS}" \
76             KRBINCPATH="$${KRBINCPATH}" KRBDEFS="$${KRBDEFS}" \
77             AFSLIBS="$${AFSLIBS}" AFSLIBDIRS="$${AFSLIBDIRS}" \
78             CRYPTOLIBS="$${CRYPTOLIBS}" CRYPTOLIBDIRS="$${CRYPTOLIBDIRS}" \
79             PAMLIBS="$${PAMLIBS}" PAMLIBDIRS="$${PAMLIBDIRS}" \
80             CRYPTLIB="$${CRYPTLIB}" CRYPTDEFS="$${CRYPTDEFS}" \
81             CRYPTOINCPATH="$${CRYPTOINCPATH}" CRYPTODEFS="$${CRYPTODEFS}" \
82             PAMINCPATH="$${PAMINCPATH}" PAMDEFS="$${PAMDEFS}" \
83             AFSINCPATH="$${AFSINCPATH}" AFSDEFS="$${AFSDEFS}" \
84             CRACKLIBS="$${CRACKLIBS}" \
85             CRACKINCPATH="$${CRACKINCPATH}" CRACKDEFS="$${CRACKDEFS}" \
86             ${SHAREDOBJS} ${SUBDIRS}
87
88 .SUFFIXES: .o .so
89
90 .c.so:
91         ${CC} ${CFLAGS} -c $<
92         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o 
93
94 uams_passwd.so: uams_passwd.c
95         ${CC} ${CFLAGS} ${CRYPTDEFS} -c $<
96         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o ${CRYPTLIB}
97
98 uams_pam.so: uams_pam.c
99         ${CC} ${CFLAGS} ${PAMINCPATH} ${PAMDEFS} -c $<
100         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o ${PAMLIBDIRS} ${PAMLIBS}
101
102 uams_randnum.so: uams_randnum.c
103         ${CC} ${CFLAGS} ${CRYPTOINCPATH} ${CRYPTODEFS} ${CRACKINCPATH} \
104         ${CRACKDEFS} -c $<
105         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o ${CRYPTOLIBDIRS} \
106         ${CRYPTOLIBS} ${CRACKLIBS}
107
108 uams_dhx_passwd.so: uams_dhx_passwd.c
109         ${CC} ${CFLAGS} ${CRYPTDEFS} ${CRYPTOINCPATH} ${CRYPTODEFS} -c $<
110         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o ${CRYPTOLIBDIRS} ${CRYPTOLIBS}
111
112 uams_dhx_pam.so: uams_dhx_pam.c
113         ${CC} ${CFLAGS} ${PAMINCPATH} ${CRYPTOINCPATH} ${CRYPTODEFS} \
114         ${PAMDEFS} -c $<
115         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $*.o ${CRYPTOLIBDIRS} \
116         ${CRYPTOLIBS} ${PAMLIBDIRS} ${PAMLIBS}
117
118 # this is getting pushed into a subdirectory
119 uams_kerberos.so: uams_kerberos.c       
120         ${CC} ${CFLAGS} ${KRBINCPATH} ${KRBDEFS} -c $<
121         ${LDSHARED} ${LDSHAREDFLAGS} -o $@ $< ${KRBLIBDIRS} ${KRBLIBS} 
122
123 install : all
124         -for i in ${SUBDIRS}; \
125         do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
126                 ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
127                 SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
128                 ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
129                 DESTDIR="${DESTDIR}" INSTALL="${INSTALL}" \
130                 install); \
131         done
132         -mkdir ${RESDIR}/uams
133         ${INSTALL} -c *.so ${RESDIR}/uams
134         -rm ${RESDIR}/uams/uams_clrtxt.so ${RESDIR}/uams/uams_dhx.so
135         if [ x"${PAMDIR}" != x ]; then \
136                 (cd ${RESDIR}/uams; ln -s uams_pam.so uams_clrtxt.so; \
137                  ln -s uams_dhx_pam.so uams_dhx.so); \
138         else \
139                 (cd ${RESDIR}/uams; ln -s uams_passwd.so uams_clrtxt.so; \
140                  ln -s uams_dhx_passwd.so uams_dhx.so); \
141         fi;
142
143 clean :
144         rm -f a.out core* *.o *.bak *[Ee]rrs tags
145         rm -f *.so
146
147 tags : ${SRC}
148         cwd=`pwd`; \
149         for i in ${SRC}; do \
150             ctags -t -a -f ${TAGSFILE} $$cwd/$$i; \
151         done
152
153 depend :
154         for i in ${SRC} ; do \
155             ${CC} -M ${DEFS} ${INCPATH} $$i | \
156             awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
157                 else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
158                 else rec = rec " " $$2 } } \
159                 END { print rec } ' >> makedep; done
160         sed -n '1,/^# DO NOT DELETE THIS LINE/p' Makefile > Makefile.tmp
161         cat makedep >> Makefile.tmp
162         rm makedep
163         echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile.tmp
164         echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile.tmp
165         echo '# see make depend above' >> Makefile.tmp
166         rm -f Makefile.bak
167         cp Makefile Makefile.bak
168         mv Makefile.tmp Makefile
169
170 # DO NOT DELETE THIS LINE
171