srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
+include @TOP_OBJDIR@/src/config/Makefile.shared
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-CC=${MT_CC}
-CFLAGS=${COMMON_CFLAGS} ${MT_CFLAGS} ${SHLIB_CFLAGS}
HEADERS= ${TOP_INCDIR}/hcrypto/aes.h \
${TOP_INCDIR}/hcrypto/des.h \
${TOP_INCDIR}/hcrypto/sha.h \
${TOP_INCDIR}/hcrypto/ui.h
+UPSTREAM= ${TOP_SRCDIR}/external/heimdal
+
+MODULE_INCLUDE=-I${srcdir} -I${TOP_INCDIR}/hcrypto -I$(UPSTREAM)/hcrypto
+
SHLIBOBJ= libafshcrypto.${SHLIB_SUFFIX}.${LIBMAJOR}.${LIBMINOR}
all: ${HEADERS} ${TOP_LIBDIR}/${SHLIBOBJ} \
${TOP_LIBDIR}/libafshcrypto.a \
${TOP_LIBDIR}/libafshcrypto_lwp.a
+buildtools: ${HEADERS} ${TOP_LIBDIR}/libafshcrypto.a
+
install: libafshcrypto.a ${SHLIBOBJ}
${TOP_OBJDIR}/src/config/shlib-install -d ${DESTDIR}${libdir} \
-l libafshcrypto -M ${LIBMAJOR} -m ${LIBMINOR}
${INSTALL_DATA} libafshcrypto.a ${DEST}/lib/libafshcrypto.a
clean:
- $(RM) -f ${OBJECTS} ${SHLIBOBJ} libafshcrypto.a libafshcrypto.exp \
- test_cipher test_cipher.o hex.o
+ $(RM) -f ${OBJECTS} ${SHLIBOBJ} rand-fortuna_lwp.o \
+ libafshcrypto.a libafshcrypto_lwp.a libafshcrypto.exp \
+ test_cipher test_cipher.o
COMMON_OBJS= aes.o camellia.o camellia-ntt.o des.o engine.o evp.o \
evp-hcrypto.o evp-cc.o hmac.o md2.o md4.o md5.o pkcs5.o \
- rand-egd.o rand-timer.o rand-unix.o rand.o \
- rc2.o rc4.o rijndael-alg-fst.o rnd_keys.o sha.o sha256.o ui.o \
- cloexec.o ct.o issuid.o net_read.o net_write.o strlcpy.o
+ rand-egd.o rand-timer.o rand-unix.o rand.o rc2.o rc4.o \
+ rijndael-alg-fst.o rnd_keys.o sha.o sha256.o sha512.o ui.o \
+ validate.o
OBJECTS = $(COMMON_OBJS) rand-fortuna.o
LWP_OBJS = $(COMMON_OBJS) rand-fortuna_lwp.o
-UPSTREAM= ${TOP_SRCDIR}/external/heimdal
-
-CFLAGS=$(COMMON_CFLAGS) $(MT_CFLAGS) $(SHLIB_CFLAGS)
-CCRULE = $(MT_CC) -I${TOP_INCDIR}/hcrypto ${CFLAGS} -I${UPSTREAM}/hcrypto -c $?
-
-LWPRULE=$(CC) $(COMMON_CFLAGS) $(XCFLAGS) $(ARCHFLAGS) \
- -I$(TOP_INCDIR)/hcrypto -I$(UPSTREAM)/hcrypto -c $?
-
${TOP_LIBDIR}/${SHLIBOBJ}: ${SHLIBOBJ}
${TOP_OBJDIR}/src/config/shlib-install -d ${TOP_LIBDIR} \
-l libafshcrypto -M ${LIBMAJOR} -m ${LIBMINOR}
${SHLIBOBJ}: ${OBJECTS} libafshcrypto.map
${TOP_OBJDIR}/src/config/shlib-build -d $(srcdir) -l libafshcrypto \
-M ${LIBMAJOR} -m ${LIBMINOR} -- \
- ${OBJECTS} ${MT_LIBS}
+ ${OBJECTS} $(LDFLAGS_roken) $(LIB_roken) ${MT_LIBS}
libafshcrypto.a: ${OBJECTS}
$(RM) -f $@
$(AR) crv $@ $(LWP_OBJS)
$(RANLIB) $@
-test_cipher: test_cipher.o hex.o libafshcrypto.a
- ${CC} ${LDFLAGS} -o test_cipher test_cipher.o hex.o libafshcrypto.a
+test_cipher: test_cipher.o libafshcrypto.a
+ $(AFS_LDRULE) test_cipher.o libafshcrypto.a $(LIB_roken)
${TOP_INCDIR}/hcrypto/aes.h: ${UPSTREAM}/hcrypto/aes.h
${INSTALL_DATA} $? $@
${TOP_LIBDIR}/libafshcrypto_lwp.a: libafshcrypto_lwp.a
${INSTALL_DATA} $? $@
+# Pthread Targets
-aes.o: ${UPSTREAM}/hcrypto/aes.c
- ${CCRULE}
-
-bn.o: ${UPSTREAM}/hcrypto/bn.c
- ${CCRULE}
-
-camellia.o: ${UPSTREAM}/hcrypto/camellia.c
- ${CCRULE}
-
-camellia-ntt.o: ${UPSTREAM}/hcrypto/camellia-ntt.c
- ${CCRULE}
-
-des.o: ${UPSTREAM}/hcrypto/des.c
- ${CCRULE}
-
-dh-imath.o: ${UPSTREAM}/hcrypto/dh-imath.c
- ${CCRULE}
-
-dsa.o: ${UPSTREAM}/hcrypto/dsa.c
- ${CCRULE}
-
-evp.o: ${UPSTREAM}/hcrypto/evp.c
- ${CCRULE} -DHAVE_CONFIG_H
-
-evp-hcrypto.o: ${UPSTREAM}/hcrypto/evp-hcrypto.c
- ${CCRULE}
-
-evp-cc.o: ${UPSTREAM}/hcrypto/evp-cc.c
- ${CCRULE}
-
-engine.o: engine.c
- ${CCRULE}
-
-hmac.o: ${UPSTREAM}/hcrypto/hmac.c
- ${CCRULE}
-
-md2.o: ${UPSTREAM}/hcrypto/md2.c
- ${CCRULE}
+CFLAGS_test_cipher.o= -I${UPSTREAM}/roken/
+CFLAGS_rand-unix.o=@CFLAGS_NOERROR@
+CFLAGS_evp.o=-DHAVE_CONFIG_H
-md4.o: ${UPSTREAM}/hcrypto/md4.c
- ${CCRULE}
+aes.o: ${UPSTREAM}/hcrypto/aes.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/aes.c
-md5.o: ${UPSTREAM}/hcrypto/md5.c
- ${CCRULE}
+bn.o: ${UPSTREAM}/hcrypto/bn.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/bn.c
-pkcs5.o: ${UPSTREAM}/hcrypto/pkcs5.c
- ${CCRULE}
+camellia.o: ${UPSTREAM}/hcrypto/camellia.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/camellia.c
-pkcs12.o: ${UPSTREAM}/hcrypto/pkcs12.c
- ${CCRULE}
+camellia-ntt.o: ${UPSTREAM}/hcrypto/camellia-ntt.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/camellia-ntt.c
-rand-egd.o: ${UPSTREAM}/hcrypto/rand-egd.c
- ${CCRULE}
+des.o: ${UPSTREAM}/hcrypto/des.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/des.c
+
+evp.o: ${UPSTREAM}/hcrypto/evp.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/evp.c
+
+evp-hcrypto.o: ${UPSTREAM}/hcrypto/evp-hcrypto.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/evp-hcrypto.c
+
+evp-cc.o: ${UPSTREAM}/hcrypto/evp-cc.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/evp-cc.c
-rand-fortuna.o: ${UPSTREAM}/hcrypto/rand-fortuna.c
- ${CCRULE}
+hmac.o: ${UPSTREAM}/hcrypto/hmac.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/hmac.c
-rand-fortuna_lwp.o: ${UPSTREAM}/hcrypto/rand-fortuna.c
- ${LWPRULE} -o rand-fortuna_lwp.o
+md2.o: ${UPSTREAM}/hcrypto/md2.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/md2.c
-rand-timer.o: ${UPSTREAM}/hcrypto/rand-timer.c
- ${CCRULE}
+md4.o: ${UPSTREAM}/hcrypto/md4.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/md4.c
-# The upstream code has a const pointer warning, which we need to suppress */
-rand-unix.o: ${UPSTREAM}/hcrypto/rand-unix.c
- ${CCRULE} @CFLAGS_NOERROR@
+md5.o: ${UPSTREAM}/hcrypto/md5.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/md5.c
-rand.o: ${UPSTREAM}/hcrypto/rand.c
- ${CCRULE}
+pkcs5.o: ${UPSTREAM}/hcrypto/pkcs5.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/pkcs5.c
-rc2.o: ${UPSTREAM}/hcrypto/rc2.c
- ${CCRULE}
+rand-egd.o: ${UPSTREAM}/hcrypto/rand-egd.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rand-egd.c
-rc4.o: ${UPSTREAM}/hcrypto/rc4.c
- ${CCRULE}
+rand-fortuna.o: ${UPSTREAM}/hcrypto/rand-fortuna.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rand-fortuna.c
-rijndael-alg-fst.o: ${UPSTREAM}/hcrypto/rijndael-alg-fst.c
- ${CCRULE}
+rand-timer.o: ${UPSTREAM}/hcrypto/rand-timer.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rand-timer.c
-rnd_keys.o: ${UPSTREAM}/hcrypto/rnd_keys.c
- ${CCRULE}
+rand-unix.o: ${UPSTREAM}/hcrypto/rand-unix.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rand-unix.c
-rsa.o: ${UPSTREAM}/hcrypto/rsa.c
- ${CCRULE}
+rand.o: ${UPSTREAM}/hcrypto/rand.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rand.c
-rsa-gmp.o: ${UPSTREAM}/hcrypto/rsa-gmp.c
- ${CCRULE}
+rc2.o: ${UPSTREAM}/hcrypto/rc2.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rc2.c
-rsa-imath.o: ${UPSTREAM}/hcrypto/rsa-imath.c
- ${CCRULE}
+rc4.o: ${UPSTREAM}/hcrypto/rc4.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rc4.c
-sha.o: ${UPSTREAM}/hcrypto/sha.c
- ${CCRULE}
+rijndael-alg-fst.o: ${UPSTREAM}/hcrypto/rijndael-alg-fst.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rijndael-alg-fst.c
-sha256.o: ${UPSTREAM}/hcrypto/sha256.c
- ${CCRULE}
+rnd_keys.o: ${UPSTREAM}/hcrypto/rnd_keys.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/rnd_keys.c
-ui.o: ${UPSTREAM}/hcrypto/ui.c
- ${CCRULE}
+sha.o: ${UPSTREAM}/hcrypto/sha.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/sha.c
-test_cipher.o: ${UPSTREAM}/hcrypto/test_cipher.c
- ${CCRULE} -I${UPSTREAM}/roken/
+sha256.o: ${UPSTREAM}/hcrypto/sha256.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/sha256.c
-cloexec.o: ${UPSTREAM}/roken/cloexec.c
- ${CCRULE}
+sha512.o: ${UPSTREAM}/hcrypto/sha512.c ${HEADERS}
+ ${AFS_CCRULE} $(UPSTREAM)/hcrypto/sha512.c
-ct.o: ${UPSTREAM}/roken/ct.c
- ${CCRULE}
+ui.o: ${UPSTREAM}/hcrypto/ui.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/ui.c
-hex.o: ${UPSTREAM}/roken/hex.c
- ${CCRULE}
+validate.o: ${UPSTREAM}/hcrypto/validate.c ${HEADERS}
+ ${AFS_CCRULE} ${UPSTREAM}/hcrypto/validate.c
-issuid.o: ${UPSTREAM}/roken/issuid.c
- ${CCRULE}
+test_cipher.o: ${UPSTREAM}/hcrypto/test_cipher.c ${HEADERS}
+ $(AFS_CCRULE) $(UPSTREAM)/hcrypto/test_cipher.c
-net_read.o: ${UPSTREAM}/roken/net_read.c
- ${CCRULE}
+# LWP Targets
-net_write.o: ${UPSTREAM}/roken/net_write.c
- ${CCRULE}
+rand-fortuna_lwp.o: ${UPSTREAM}/hcrypto/rand-fortuna.c ${HEADERS}
+ $(LWP_CCRULE) $(UPSTREAM)/hcrypto/rand-fortuna.c
-strlcpy.o: ${UPSTREAM}/roken/strlcpy.c
- ${CCRULE}