#################################################################
#
# @(#) Makefile for dnssec zone key tool (c) Mar 2005 hoz
#
#################################################################
prefix = @prefix@
mandir = @mandir@
CC = @CC@
PROFILE = # -pg
OPTIM = # -O3 -DNDEBUG
#CFLAGS ?= @CFLAGS@ @DEFS@ -I@top_srcdir@
CFLAGS += -g @DEFS@ -I@top_srcdir@
CFLAGS += -Wall #-DDBG
CFLAGS += -Wmissing-prototypes
CFLAGS += $(PROFILE) $(OPTIM)
LDFLAGS += $(PROFILE)
LIBS = @LIBS@
PROJECT = @PACKAGE_TARNAME@
VERSION = @PACKAGE_VERSION@
OBJ_ALL = $(SRC_ALL:.c=.o)
OBJ_SIG = $(SRC_SIG:.c=.o)
MAN_SIG = zkt-signer.8
PROG_SIG= zkt-signer
SRC_CNF = zkt-conf.c zfparse.c
OBJ_CNF = $(SRC_CNF:.c=.o)
MAN_CNF = zkt-conf.8
PROG_CNF= zkt-conf
# shared sources
OBJ_KLS = $(SRC_KLS:.c=.o)
SRC_KEY = zkt-keyman.c
OBJ_KEY = $(SRC_KEY:.c=.o) $(OBJ_KLS)
MAN_KEY = zkt-keyman.8
PROG_KEY= zkt-keyman
SRC_LS = zkt-ls.c
OBJ_LS = $(SRC_LS:.c=.o) $(OBJ_KLS)
MAN_LS = zkt-ls.8
PROG_LS= zkt-ls
OBJ_ZKT = $(SRC_ZKT:.c=.o)
MAN_ZKT = dnssec-zkt.8
PROG_ZKT= dnssec-zkt
SRC_SER = zkt-soaserial.c
OBJ_SER = $(SRC_SER:.c=.o)
#MAN_SER = zkt-soaserial.8
PROG_SER= zkt-soaserial
SRC_PRG = $(SRC_SIG) $(SRC_CNF) $(SRC_ZKT) $(SRC_LS) $(SRC_SER) $(SRC_KEY)
OBJ_PRG = $(SRC_PRG:.c=.o)
PROG_PRG= $(PROG_SIG) $(PROG_CNF) $(PROG_ZKT) $(PROG_LS) $(PROG_SER) $(PROG_KEY)
MAN_ALL = $(MAN_ZKT) $(MAN_SIG) $(MAN_LS) $(MAN_CNF) $(MAN_KEY)
OTHER = README README.logging TODO LICENSE CHANGELOG tags Makefile.in \
configure examples
SAVE = $(HEADER) $(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_ZKT) $(SRC_KLS) \
$(SRC_LS) $(SRC_KEY) $(SRC_SER) $(OTHER) \
man configure.ac config.h.in doc
#MNTSAVE = $(SAVE) configure.ac config.h.in doc
all: $(PROG_CNF) $(PROG_ZKT) $(PROG_LS) $(PROG_SIG) $(PROG_SER) $(PROG_KEY)
macos: ## for MAC OS (depreciated)
macos:
$(MAKE) CFLAGS="$(CFLAGS) -D HAS_UTYPES=0" all
solaris: ## for solaris (depreciated)
solaris:
@$(MAKE) CFLAGS="$(CFLAGS) -D HAVE_GETOPT_LONG=0" all
linux: ## for linux (default)
linux:
@$(MAKE) all
$(PROG_SIG): $(OBJ_SIG) $(OBJ_ALL) Makefile
$(CC) $(LDFLAGS) $(OBJ_SIG) $(OBJ_ALL) -o $(PROG_SIG)
ln -f $(PROG_SIG) dnssec-signer
$(PROG_CNF): $(OBJ_CNF) $(OBJ_ALL) Makefile
$(CC) $(LDFLAGS) $(OBJ_CNF) $(OBJ_ALL) -o $(PROG_CNF)
$(PROG_KEY): $(OBJ_KEY) $(OBJ_ALL) Makefile
$(CC) $(LDFLAGS) $(LIBS) $(OBJ_KEY) $(OBJ_ALL) -o $(PROG_KEY)
$(PROG_ZKT): $(OBJ_ZKT) $(OBJ_ALL) Makefile
$(CC) $(LDFLAGS) $(LIBS) $(OBJ_ZKT) $(OBJ_ALL) -o $(PROG_ZKT)
$(PROG_LS): $(OBJ_LS) $(OBJ_ALL) Makefile
$(CC) $(LDFLAGS) $(LIBS) $(OBJ_LS) $(OBJ_ALL) -o $(PROG_LS)
$(PROG_SER): $(OBJ_SER) Makefile
$(CC) $(LDFLAGS) $(OBJ_SER) -o $(PROG_SER)
install: ## install binaries in prefix/bin
install: $(PROG_PRG)
test -d $(prefix)/bin || mkdir -p $(prefix)/bin
cp dnssec-signer $(PROG_PRG) $(prefix)/bin/
install-man: ## install man pages in mandir
install-man:
test -d $(mandir)/man8/ || mkdir -p $(mandir)/man8/
cp -p man/$(MAN_ZKT) man/$(MAN_SIG) $(mandir)/man8/
tags: ## create tags file
#tags: $(SRC_ALL) $(SRC_PRG)
tags: $(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_KEY) $(SRC_LS) $(SRC_SER) $(SRC_KLS)
ctags $(SRC_ALL) $(SRC_SIG) $(SRC_CNF) $(SRC_KEY) $(SRC_LS) $(SRC_SER) $(SRC_KLS)
clean: ## remove objectfiles and binaries
clean:
-rm -f $(OBJ_PRG) $(OBJ_ALL) $(PROG_PRG)
distclean: ## remove objectfiles, binaries and distribution files
distclean: clean
$(PROJECT)-$(VERSION).tar.gz
tar: ## create tar file for distribution
tar: $(PROJECT)-$(VERSION).tar.gz
configure: ## create configure script
configure: configure.ac Makefile.in
autoconf && autoheader
man: man/$(MAN_KEY).html man/$(MAN_KEY).pdf \
man/$(MAN_SIG).html man/$(MAN_SIG).pdf \
man/$(MAN_LS).html man/$(MAN_LS).pdf \
man/$(MAN_CNF).html man/$(MAN_CNF).pdf
man/$(MAN_KEY).html: man/$(MAN_KEY)
groff -Thtml -man -mhtml man/$(MAN_KEY) > man/$(MAN_KEY).html
man/$(MAN_KEY).pdf: man/$(MAN_KEY)
groff -Tps -man man/$(MAN_KEY) | ps2pdf - man/$(MAN_KEY).pdf
man/$(MAN_LS).html: man/$(MAN_LS)
groff -Thtml -man -mhtml man/$(MAN_LS) > man/$(MAN_LS).html
man/$(MAN_LS).pdf: man/$(MAN_LS)
groff -Tps -man man/$(MAN_LS) | ps2pdf - man/$(MAN_LS).pdf
man/$(MAN_SIG).html: man/$(MAN_SIG)
groff -Thtml -man -mhtml man/$(MAN_SIG) > man/$(MAN_SIG).html
man/$(MAN_SIG).pdf: man/$(MAN_SIG)
groff -Tps -man man/$(MAN_SIG) | ps2pdf - man/$(MAN_SIG).pdf
man/$(MAN_CNF).html: man/$(MAN_CNF)
groff -Thtml -man -mhtml man/$(MAN_CNF) > man/$(MAN_CNF).html
man/$(MAN_CNF).pdf: man/$(MAN_CNF)
groff -Tps -man man/$(MAN_CNF) | ps2pdf - man/$(MAN_CNF).pdf
$(PROJECT)-$(VERSION).tar.gz: $(SAVE)
rm -f examples/hierarchical/log/zkt-*
( \
distfiles=`ls -d $(SAVE) | sed 's|^|$(PROJECT)-$(VERSION)/|'` ;\
cd .. && tar czvf $(PROJECT)-$(VERSION)/$(PROJECT)-$(VERSION).tar.gz $$distfiles ;\
)
depend:
$(CC) -MM $(CFLAGS) $(SRC_PRG) $(SRC_ALL)
help:
@grep "^.*:[ ]*##" Makefile
## all dependicies
#:r !make depend
#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