1# Note: we include the additional tweaking of top_builddir, so that LIBTOOL
2# resolves to the correct place.
3top_builddir=@top_builddir@/../..
4top_srcdir=@top_srcdir@
5srcdir=@srcdir@
6
7include $(top_builddir)/Make.rules
8
9.SUFFIXES: .la .lo
10
11EXEEXT=@EXEEXT@
12SHARED_CFLAGS=-DPR_SHARED_MODULE
13SHARED_LDFLAGS=-avoid-version -export-dynamic -module
14VPATH=@srcdir@
15
16MODULE_NAME=mod_auth_otp
17MODULE_OBJS=mod_auth_otp.o base32.o otp.o crypto.o db.o
18SHARED_MODULE_OBJS=mod_auth_otp.lo base32.lo otp.lo crypto.lo db.lo
19UTILS_LIBS=@UTILS_LIBS@
20UTILS_OBJS=base32.o otp.o crypto.o auth-otp.o
21UTILS_API_OBJS=../../src/pool.o \
22  ../../src/str.o
23
24# Necessary redefinitions
25INCLUDES=-I. -I../.. -I../../include -I$(top_srcdir)/../../include @INCLUDES@
26CPPFLAGS=$(ADDL_CPPFLAGS) -DHAVE_CONFIG_H $(DEFAULT_PATHS) $(PLATFORM) $(INCLUDES)
27LDFLAGS=-L../../lib @LDFLAGS@
28
29.c.o:
30	$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
31
32.c.lo:
33	$(LIBTOOL) --mode=compile --tag=CC $(CC) $(CPPFLAGS) $(CFLAGS) $(SHARED_CFLAGS) -c $<
34
35shared: $(SHARED_MODULE_OBJS)
36	$(LIBTOOL) --mode=link --tag=CC $(CC) -o $(MODULE_NAME).la $(SHARED_MODULE_OBJS) -rpath $(LIBEXECDIR) $(LDFLAGS) $(SHARED_LDFLAGS) $(SHARED_MODULE_LIBS) `cat $(top_srcdir)/$(MODULE_NAME).c | grep '$$Libraries:' | sed -e 's/^.*\$$Libraries: \(.*\)\\$$/\1/'`
37
38static: $(MODULE_OBJS) auth-otp$(EXEEXT)
39	$(AR) rc $(MODULE_NAME).a $(MODULE_OBJS)
40	$(RANLIB) $(MODULE_NAME).a
41
42auth-otp$(EXEEXT): $(UTILS_OBJS)
43	$(CC) $(LDFLAGS) -o $@ $(UTILS_OBJS) $(UTILS_API_OBJS) $(UTILS_LIBS)
44
45install: install-headers install-man install-utils
46	if [ -f $(MODULE_NAME).la ] ; then \
47		$(LIBTOOL) --mode=install --tag=CC $(INSTALL_BIN) $(MODULE_NAME).la $(DESTDIR)$(LIBEXECDIR) ; \
48	fi
49
50# BSD install -d doesn't work, so ...
51$(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
52	@if [ ! -d $@ ]; then \
53		mkdir -p $@; \
54		chown $(INSTALL_USER):$(INSTALL_GROUP) $@; \
55		chmod 0755 $@; \
56	fi
57
58install-headers: $(DESTDIR)$(includedir)/proftpd
59	$(INSTALL_MAN) $(MODULE_NAME).h $(DESTDIR)$(includedir)/proftpd/$(MODULE_NAME).h
60
61install-man: $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man8
62	$(INSTALL_MAN) $(top_srcdir)/auth-otp.8 $(DESTDIR)$(mandir)/man8
63
64install-utils: $(DESTDIR)$(sbindir) auth-otp$(EXEEXT)
65	$(INSTALL_BIN) auth-otp$(EXEEXT) $(DESTDIR)$(sbindir)/auth-otp$(EXEEXT)
66
67clean:
68	$(LIBTOOL) --mode=clean $(RM) $(MODULE_NAME).a $(MODULE_NAME).la *.o *.lo .libs/*.o
69	-$(RM) auth-otp$(EXEEXT)
70
71distclean: clean
72	$(RM) Makefile t/Makefile $(MODULE_NAME).h config.status config.cache config.log *.gcda *.gcno
73	-$(RM) -r CVS/ RCS/
74