6 top_srcdir = @top_srcdir@
9 INSTALL_DATA = @INSTALL_DATA@
10 INSTALL_PROGRAM = @INSTALL_PROGRAM@
11 INSTALL_SCRIPT = @INSTALL_SCRIPT@
12 INSTALL_STRIP_PROGRAM = $(INSTALL_PROGRAM) -s
15 include ../config.make
17 PRE_CPPFLAGS = -I.. -I$(top_srcdir)
20 HOGWEED_TARGETS = pkcs1-conv$(EXEEXT)
21 TARGETS = sexp-conv$(EXEEXT) nettle-hash$(EXEEXT) nettle-pbkdf2$(EXEEXT) \
22 nettle-lfib-stream$(EXEEXT) \
23 @IF_HOGWEED@ $(HOGWEED_TARGETS)
27 getopt_OBJS = ../getopt.$(OBJEXT) ../getopt1.$(OBJEXT)
29 sexp_conv_SOURCES = sexp-conv.c input.c output.c parse.c misc.c
30 pkcs1_conv_SOURCES = pkcs1-conv.c misc.c
31 nettle_hash_SOURCES = nettle-hash.c misc.c
32 nettle_pbkdf2_SOURCES = nettle-pbkdf2.c misc.c
34 SOURCES = $(sexp_conv_SOURCES) nettle-hash.c nettle-lfib-stream.c pkcs1-conv.c nettle-pbkdf2.c
36 DISTFILES = $(SOURCES) Makefile.in input.h misc.h output.h parse.h
38 sexp_conv_OBJS = $(sexp_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
39 sexp-conv$(EXEEXT): $(sexp_conv_OBJS) ../libnettle.stamp
40 $(LINK) $(sexp_conv_OBJS) -lnettle $(LIBS) -o $@
42 nettle-lfib-stream$(EXEEXT): nettle-lfib-stream.$(OBJEXT) ../libnettle.stamp
43 $(LINK) nettle-lfib-stream.$(OBJEXT) -lnettle $(LIBS) -o $@
45 pkcs1_conv_OBJS = $(pkcs1_conv_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
46 pkcs1-conv$(EXEEXT): $(pkcs1_conv_OBJS) ../libnettle.stamp ../libhogweed.stamp
47 $(LINK) $(pkcs1_conv_OBJS) -lhogweed -lnettle $(LIBS) -o $@
49 # FIXME: Avoid linking with gmp
50 nettle_hash_OBJS = $(nettle_hash_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
51 nettle-hash$(EXEEXT): $(nettle_hash_OBJS) ../libnettle.stamp
52 $(LINK) $(nettle_hash_OBJS) -lnettle -o $@
54 nettle_pbkdf2_OBJS = $(nettle_pbkdf2_SOURCES:.c=.$(OBJEXT)) $(getopt_OBJS)
55 nettle-pbkdf2$(EXEEXT): $(nettle_pbkdf2_OBJS) ../libnettle.stamp
56 $(LINK) $(nettle_pbkdf2_OBJS) -lnettle -o $@
60 $(COMPILE) -c $< && $(DEP_PROCESS)
62 # NOTE: If we required GNU make, we could use a single rule with $(@F)
65 ( cd .. && $(MAKE) getopt.$(OBJEXT))
67 ( cd .. && $(MAKE) getopt1.$(OBJEXT))
69 Makefile: $(srcdir)/Makefile.in ../config.status
70 cd .. && $(SHELL) ./config.status tools/$@
76 $(MKDIR_P) $(DESTDIR)$(bindir)
77 for f in $(TARGETS) ; do \
78 $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir) ; \
82 for f in $(TARGETS) ; do \
83 rm -f $(DESTDIR)$(bindir)/$$f ; \
86 # NOTE: I'd like to use $^, but that's a GNU extension. $? should be
87 # more portable, equivalent for phony targets.
98 etags -o $(srcdir)/TAGS --include $(top_srcdir) $(srcdir)/*.c $(srcdir)/*.h
100 @DEP_INCLUDE@ $(SOURCES:.c=.$(OBJEXT).d)