1#################################################################
2#
3#	@(#) Makefile for dnssec zone key tool  (c) Mar 2005 hoz
4#
5#################################################################
6
7prefix	=	@prefix@
8mandir	=	@mandir@
9
10CC	=	@CC@
11
12PROFILE =	# -pg
13OPTIM	=	# -O3 -DNDEBUG
14
15#CFLAGS	?=	@CFLAGS@ @DEFS@ -I@top_srcdir@
16CFLAGS	+=	-g @DEFS@ -I@top_srcdir@
17CFLAGS	+=	-Wall #-DDBG
18CFLAGS	+=	-Wmissing-prototypes
19CFLAGS	+=	$(PROFILE) $(OPTIM)
20LDFLAGS	+=	$(PROFILE)
21LIBS	=	@LIBS@
22
23PROJECT =	@PACKAGE_TARNAME@
24VERSION =	@PACKAGE_VERSION@
25
26HEADER	=	dki.h misc.h domaincmp.h zconf.h config_zkt.h \
27		config.h.in strlist.h zone.h zkt.h debug.h \
28		ncparse.h log.h rollover.h nscomm.h soaserial.h \
29		zfparse.h tcap.h
30SRC_ALL	=	dki.c misc.c domaincmp.c zconf.c log.c
31OBJ_ALL	=	$(SRC_ALL:.c=.o)
32
33SRC_SIG	=	zkt-signer.c zone.c ncparse.c rollover.c \
34		nscomm.c soaserial.c
35OBJ_SIG	=	$(SRC_SIG:.c=.o)
36MAN_SIG	=	zkt-signer.8
37PROG_SIG=	zkt-signer
38
39SRC_CNF	=	zkt-conf.c zfparse.c
40OBJ_CNF	=	$(SRC_CNF:.c=.o)
41MAN_CNF	=	zkt-conf.8
42PROG_CNF=	zkt-conf
43
44# shared sources
45SRC_KLS	=	strlist.c zkt.c tcap.c
46OBJ_KLS	=	$(SRC_KLS:.c=.o)
47
48SRC_KEY	=	zkt-keyman.c
49OBJ_KEY	=	$(SRC_KEY:.c=.o) $(OBJ_KLS)
50MAN_KEY	=	zkt-keyman.8
51PROG_KEY=	zkt-keyman
52
53SRC_LS	=	zkt-ls.c
54OBJ_LS	=	$(SRC_LS:.c=.o) $(OBJ_KLS)
55MAN_LS	=	zkt-ls.8
56PROG_LS=	zkt-ls
57
58SRC_ZKT	=	dnssec-zkt.c strlist.c zkt.c tcap.c
59OBJ_ZKT	=	$(SRC_ZKT:.c=.o)
60MAN_ZKT	=	dnssec-zkt.8
61PROG_ZKT=	dnssec-zkt
62
63SRC_SER	=	zkt-soaserial.c
64OBJ_SER	=	$(SRC_SER:.c=.o)
65#MAN_SER	=	zkt-soaserial.8
66PROG_SER=	zkt-soaserial
67
68SRC_PRG	=	$(SRC_SIG) $(SRC_CNF) $(SRC_ZKT) $(SRC_LS) $(SRC_SER) $(SRC_KEY)
69OBJ_PRG	=	$(SRC_PRG:.c=.o)
70PROG_PRG=	$(PROG_SIG) $(PROG_CNF) $(PROG_ZKT) $(PROG_LS) $(PROG_SER) $(PROG_KEY)
71
72MAN_ALL	=	$(MAN_ZKT) $(MAN_SIG) $(MAN_LS) $(MAN_CNF) $(MAN_KEY)
73OTHER	=	README README.logging TODO LICENSE CHANGELOG tags Makefile.in \
74		configure examples
75SAVE	=	$(HEADER) $(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_ZKT) $(SRC_KLS) \
76		$(SRC_LS) $(SRC_KEY) $(SRC_SER) $(OTHER) \
77		man configure.ac config.h.in doc
78#MNTSAVE	=	$(SAVE) configure.ac config.h.in doc 
79
80
81all:	 $(PROG_CNF) $(PROG_ZKT) $(PROG_LS) $(PROG_SIG) $(PROG_SER) $(PROG_KEY)
82
83macos:		## for MAC OS (depreciated)
84macos:
85	$(MAKE) CFLAGS="$(CFLAGS) -D HAS_UTYPES=0" all
86
87solaris:	## for solaris (depreciated)
88solaris:
89	@$(MAKE) CFLAGS="$(CFLAGS) -D HAVE_GETOPT_LONG=0" all
90
91linux:		## for linux (default)
92linux:
93	@$(MAKE) all
94
95$(PROG_SIG):	$(OBJ_SIG) $(OBJ_ALL) Makefile
96	$(CC) $(LDFLAGS) $(OBJ_SIG) $(OBJ_ALL) -o $(PROG_SIG)
97	ln -f $(PROG_SIG) dnssec-signer
98
99$(PROG_CNF):	$(OBJ_CNF) $(OBJ_ALL) Makefile
100	$(CC) $(LDFLAGS) $(OBJ_CNF) $(OBJ_ALL) -o $(PROG_CNF)
101
102$(PROG_KEY):	$(OBJ_KEY) $(OBJ_ALL) Makefile
103	$(CC) $(LDFLAGS) $(LIBS) $(OBJ_KEY) $(OBJ_ALL) -o $(PROG_KEY)
104
105$(PROG_ZKT):	$(OBJ_ZKT) $(OBJ_ALL) Makefile
106	$(CC) $(LDFLAGS) $(LIBS) $(OBJ_ZKT) $(OBJ_ALL) -o $(PROG_ZKT)
107
108$(PROG_LS):	$(OBJ_LS) $(OBJ_ALL) Makefile
109	$(CC) $(LDFLAGS) $(LIBS) $(OBJ_LS) $(OBJ_ALL) -o $(PROG_LS)
110
111$(PROG_SER):	$(OBJ_SER) Makefile
112	$(CC) $(LDFLAGS) $(OBJ_SER) -o $(PROG_SER)
113
114install:	## install binaries in prefix/bin
115install:	$(PROG_PRG)
116		test -d $(prefix)/bin || mkdir -p $(prefix)/bin
117		cp dnssec-signer $(PROG_PRG) $(prefix)/bin/
118
119install-man:	## install man pages in mandir
120install-man:
121	test -d $(mandir)/man8/ || mkdir -p $(mandir)/man8/
122	cp -p man/$(MAN_ZKT) man/$(MAN_SIG) $(mandir)/man8/
123
124
125
126tags:		## create tags file
127#tags:	$(SRC_ALL) $(SRC_PRG)
128tags:	$(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_KEY) $(SRC_LS) $(SRC_SER) $(SRC_KLS)
129	ctags $(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_KEY) $(SRC_LS) $(SRC_SER) $(SRC_KLS)
130
131clean:		## remove objectfiles and binaries
132clean:
133	-rm -f $(OBJ_PRG) $(OBJ_ALL) $(PROG_PRG)
134
135distclean:	## remove objectfiles, binaries and distribution files
136distclean:	clean
137	-rm -f Makefile config.h config.log config.status config.cache \
138	$(PROJECT)-$(VERSION).tar.gz
139
140tar:		## create tar file for distribution
141tar:	$(PROJECT)-$(VERSION).tar.gz
142
143configure:	## create configure script
144configure:	configure.ac Makefile.in
145	autoconf && autoheader
146
147man:	man/$(MAN_KEY).html man/$(MAN_KEY).pdf \
148	man/$(MAN_SIG).html man/$(MAN_SIG).pdf \
149	man/$(MAN_LS).html man/$(MAN_LS).pdf \
150	man/$(MAN_CNF).html man/$(MAN_CNF).pdf
151
152man/$(MAN_KEY).html: man/$(MAN_KEY)
153	groff -Thtml -man -mhtml man/$(MAN_KEY) > man/$(MAN_KEY).html
154man/$(MAN_KEY).pdf: man/$(MAN_KEY)
155	groff -Tps -man man/$(MAN_KEY) | ps2pdf - man/$(MAN_KEY).pdf
156man/$(MAN_LS).html: man/$(MAN_LS)
157	groff -Thtml -man -mhtml man/$(MAN_LS) > man/$(MAN_LS).html
158man/$(MAN_LS).pdf: man/$(MAN_LS)
159	groff -Tps -man man/$(MAN_LS) | ps2pdf - man/$(MAN_LS).pdf
160man/$(MAN_SIG).html: man/$(MAN_SIG)
161	groff -Thtml -man -mhtml man/$(MAN_SIG) > man/$(MAN_SIG).html
162man/$(MAN_SIG).pdf: man/$(MAN_SIG)
163	groff -Tps -man man/$(MAN_SIG) | ps2pdf - man/$(MAN_SIG).pdf
164man/$(MAN_CNF).html: man/$(MAN_CNF)
165	groff -Thtml -man -mhtml man/$(MAN_CNF) > man/$(MAN_CNF).html
166man/$(MAN_CNF).pdf: man/$(MAN_CNF)
167	groff -Tps -man man/$(MAN_CNF) | ps2pdf - man/$(MAN_CNF).pdf
168	
169	
170$(PROJECT)-$(VERSION).tar.gz:	$(SAVE)
171	rm -f examples/hierarchical/log/zkt-*
172	(	\
173		distfiles=`ls -d $(SAVE) | sed 's|^|$(PROJECT)-$(VERSION)/|'` ;\
174		cd .. && tar czvf $(PROJECT)-$(VERSION)/$(PROJECT)-$(VERSION).tar.gz $$distfiles ;\
175	)
176
177depend:
178	$(CC) -MM $(CFLAGS) $(SRC_PRG) $(SRC_ALL)
179
180help:
181	@grep "^.*:[ 	]*##" Makefile
182
183## all dependicies
184#:r !make depend
185#gcc -MM -g -DHAVE_CONFIG_H -I. -Wall  -Wmissing-prototypes   zkt-signer.c zone.c ncparse.c rollover.c nscomm.c soaserial.c zkt-conf.c zfparse.c dnssec-zkt.c strlist.c zkt.c tcap.c zkt-ls.c strlist.c zkt.c tcap.c zkt-soaserial.c dki.c misc.c domaincmp.c zconf.c log.c
186zkt-signer.o: zkt-signer.c config.h config_zkt.h zconf.h debug.h misc.h \
187  ncparse.h nscomm.h zone.h dki.h log.h soaserial.h rollover.h
188zone.o: zone.c config.h config_zkt.h debug.h domaincmp.h misc.h zconf.h \
189  dki.h zone.h
190ncparse.o: ncparse.c debug.h misc.h zconf.h log.h ncparse.h
191rollover.o: rollover.c config.h config_zkt.h zconf.h debug.h misc.h \
192  zone.h dki.h log.h rollover.h
193nscomm.o: nscomm.c config.h config_zkt.h zconf.h nscomm.h zone.h dki.h \
194  log.h misc.h debug.h
195soaserial.o: soaserial.c config.h config_zkt.h zconf.h log.h debug.h \
196  soaserial.h
197zkt-conf.o: zkt-conf.c config.h config_zkt.h debug.h misc.h zconf.h \
198  zfparse.h
199zfparse.o: zfparse.c config.h config_zkt.h zconf.h log.h debug.h \
200  zfparse.h
201dnssec-zkt.o: dnssec-zkt.c config.h config_zkt.h debug.h misc.h zconf.h \
202  strlist.h dki.h zkt.h
203strlist.o: strlist.c strlist.h
204zkt.o: zkt.c config.h config_zkt.h dki.h misc.h zconf.h strlist.h \
205  domaincmp.h tcap.h zkt.h
206tcap.o: tcap.c config.h config_zkt.h tcap.h
207zkt-ls.o: zkt-ls.c config.h config_zkt.h debug.h misc.h zconf.h strlist.h \
208  dki.h tcap.h zkt.h
209strlist.o: strlist.c strlist.h
210zkt.o: zkt.c config.h config_zkt.h dki.h misc.h zconf.h strlist.h \
211  domaincmp.h tcap.h zkt.h
212tcap.o: tcap.c config.h config_zkt.h tcap.h
213zkt-soaserial.o: zkt-soaserial.c config.h config_zkt.h
214dki.o: dki.c config.h config_zkt.h debug.h domaincmp.h misc.h zconf.h \
215  dki.h
216misc.o: misc.c config.h config_zkt.h zconf.h log.h debug.h misc.h
217domaincmp.o: domaincmp.c domaincmp.h
218zconf.o: zconf.c config.h config_zkt.h debug.h misc.h zconf.h dki.h
219log.o: log.c config.h config_zkt.h misc.h zconf.h debug.h log.h
220