top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ mandir = @mandir@ CC = @CC@ CFLAGS = @CFLAGS@ \ @GLIB_CFLAGS@ \ @GMP_CFLAGS@ \ @PBC_CFLAGS@ \ @BSWABE_CFLAGS@ \ @DEFS@ LDFLAGS = @LDFLAGS@ \ @GLIB_LIBS@ \ @PBC_LIBS@ \ @BSWABE_LIBS@ \ @GMP_LIBS@ \ @LIBS@ DISTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@ TARGETS = cpabe-setup cpabe-enc cpabe-keygen cpabe-dec cpabe-policyList cpabe-attrList peks-ind peks-test peks-trap DEVTARGS = test-lang TAGS MANUALS = $(TARGETS:=.1) HTMLMANS = $(MANUALS:.1=.html) all: $(TARGETS) $(DEVTARGS) # user-level compilation cpabe-setup: setup.o common.o $(CC) -o $@ $^ $(LDFLAGS) cpabe-enc: enc.o common.o policy_lang.o $(CC) -o $@ $^ $(LDFLAGS) cpabe-keygen: keygen.o common.o policy_lang.o $(CC) -o $@ $^ $(LDFLAGS) cpabe-dec: dec.o common.o $(CC) -o $@ $^ $(LDFLAGS) cpabe-policyList: policyList.o common.o $(CC) -o $@ $^ $(LDFLAGS) cpabe-attrList: attrList.o common.o $(CC) -o $@ $^ $(LDFLAGS) peks-ind: ind.o common.o $(CC) -o $@ $^ $(LDFLAGS) peks-test: indTest.o common.o $(CC) -o $@ $^ $(LDFLAGS) peks-trap: trap.o common.o $(CC) -o $@ $^ $(LDFLAGS) test-lang: test-lang.o common.o policy_lang.o $(CC) -o $@ $^ $(LDFLAGS) %.o: %.c *.h Makefile $(CC) -c -o $@ $< $(CFLAGS) # installation dist: *.y policy_lang.c *.c *.h *.more-man \ AUTHORS COPYING INSTALL NEWS README $(MANUALS) \ aclocal.m4 acinclude.m4 configure configure.ac install-sh Makefile.in \ missing mkinstalldirs rm -rf $(DISTNAME) mkdir $(DISTNAME) cp $^ $(DISTNAME) tar zc $(DISTNAME) > $(DISTNAME).tar.gz rm -rf $(DISTNAME) install: $(TARGETS) $(MANUALS) $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(bindir) $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(mandir) $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(mandir)/man1 for PROG in $(TARGETS); \ do \ $(top_srcdir)/install-sh -m 755 $$PROG $(DESTDIR)$(bindir); \ $(top_srcdir)/install-sh -m 644 $$PROG.1 $(DESTDIR)$(mandir)/man1; \ done uninstall: for PROG in $(TARGETS); \ do \ /bin/rm -f $(DESTDIR)$(bindir)/$$PROG; \ /bin/rm -f $(DESTDIR)$(mandir)/man1/$$PROG.1; \ done # developer-level processing and meta stuff %.c: %.y *.h Makefile if which bison 2> /dev/null; then \ bison -o $@ $<; \ fi %.1: % %.more-man if which help2man 2> /dev/null; then \ help2man --section=1 --source="SRI International" --no-info \ -I $<.more-man -o $@ ./$<; \ fi %.html: %.1 groff -man -Thtml $< > $@ html: $(HTMLMANS) TAGS: *.c *.h *.y @(etags $^ || true) 2> /dev/null Makefile: Makefile.in config.status ./config.status config.status: configure ./config.status --recheck configure: configure.ac aclocal.m4 acinclude.m4 autoconf # cleanup # remove everything an installing user can rebuild clean: rm -f *.o $(TARGETS) $(DEVTARGS) *.tar.gz pub_key master_key priv_key enc_ind *~ # remove everything a package developer can rebuild distclean: clean rm -rf policy_lang.c autom4te.cache Makefile config.status config.log config.cache \ configure configure.scan autoscan*.log *.1 *.html *.lineno