X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/03f996bd8a0d6391518979cdab3dbe38cba0bf83..e646baee7fc67afb5d7d6a6585ef57b0d2118e2c:/src/Makefile.am diff --git a/src/Makefile.am b/src/Makefile.am index af41625..aaaf90a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,11 +1,11 @@ ## Process this file with `automake' to generate `Makefile.in' ## -*-makefile-*- ## -## $Id: Makefile.am,v 1.2 1997/08/04 10:24:19 mdw Exp $ +## $Id: Makefile.am,v 1.13 1999/05/04 16:50:59 mdw Exp $ ## ## Makefile for `become' ## -## (c) 1997 EBI +## (c) 1998 EBI ## ##----- Licensing notice ---------------------------------------------------- @@ -29,71 +29,122 @@ ##----- Revision history ---------------------------------------------------- ## ## $Log: Makefile.am,v $ +## Revision 1.13 1999/05/04 16:50:59 mdw +## Change library to `libbecome.a', for aesthetic reasons. +## +## Revision 1.12 1999/05/04 16:36:03 mdw +## Changes for new Automake version. +## +## Revision 1.11 1998/06/18 15:52:05 mdw +## Remove the IDEA test case. +## +## Revision 1.10 1998/04/23 13:17:17 mdw +## New program `bcquery', and `ypstuff' module added. +## +## Revision 1.9 1998/02/20 18:12:35 mdw +## Make the `become' program setuid root when installing. +## +## Revision 1.8 1998/01/12 16:45:36 mdw +## Fix copyright date. +## +## Revision 1.7 1997/09/26 09:14:57 mdw +## Merged blowfish branch into trunk. +## +## Revision 1.6.2.1 1997/09/26 09:07:56 mdw +## Use the Blowfish encryption algorithm instead of IDEA. This is partly +## because I prefer Blowfish (without any particularly strong evidence) but +## mainly because IDEA is patented and Blowfish isn't. +## +## Revision 1.6 1997/09/18 11:17:18 mdw +## Fix comment leaders. Don't know why this CVS keeps breaking them. +## Could be DEC's bogus version of RCS being picked up. +## +## Revision 1.5 1997/09/17 10:28:25 mdw +## Remove `set.c'. No longer necessary. +## +## Revision 1.4 1997/08/20 16:14:12 mdw +## Build parser and lexer into the source directory. Other cosmetic +## things. +## +## Revision 1.3 1997/08/07 09:39:36 mdw +## Add new source files, and remove options inappropriate for subsidiary +## Makefiles. +## ## Revision 1.2 1997/08/04 10:24:19 mdw ## Sources placed under CVS control. ## ##----- General setup things ------------------------------------------------ -## --- Standard setup things --- - -AUTOMAKE_OPTIONS = foreign - ## --- What to make --- -bin_PROGRAMS = become keygen -noinst_LIBRARIES = bcm +bin_PROGRAMS = become keygen bcquery +noinst_LIBRARIES = libbecome.a ##----- Building the main code ---------------------------------------------- ## --- The library contains most of the interesting stuff --- -bcm_SOURCES = \ +libbecome_a_SOURCES = \ check.c daemon.c \ lexer.l parser.y \ - class.c name.c rule.c set.c sym.c userdb.c \ + class.c name.c netg.c rule.c sym.c userdb.c ypstuff.c \ crypt.c \ noise.c rand.c \ - icrypt.c idea.c md5.c \ + icrypt.c blowfish.c md5.c \ mdwopt.c tx.c utils.c \ \ become.h \ check.h daemon.h \ - lexer.h parser.h \ - class.h name.h rule.h set.h sym.h userdb.h \ + lexer.h parse.h \ + class.h name.h netg.h rule.h sym.h userdb.h ypstuff.h \ crypt.h \ noise.h rand.h \ - icrypt.h idea.h md5.h \ - mdwopt.h tx.h utils.h + icrypt.h blowfish.h blowfish-sbox.h md5.h \ + mdwopt.h tx.h utils.h \ + dbutils.h BUILT_SOURCES = \ - parser.c lexer.c parser.tab.h + parser.c parser.h lexer.c ## --- Yaccing and lexing --- -parser.c parser.tab.h: $(srcdir)/parser.y - @YACC@ -d -v $(srcdir)/parser.y - mv y.tab.c parser.c - mv y.tab.h parser.tab.h +YFLAGS = -d -v -lexer.c: $(srcdir)/lexer.l - @LEX@ $(srcdir)/lexer.l - mv lex.yy.c lexer.c +dist-hook: + for i in $(BUILT_SOURCES); do \ + [ -r $(distdir)/$$i ] || ln $$i $(distdir)/$$i; \ + done ## --- The main programs --- -LDADD = libbcm.a @LIBS@ @LEXLIB@ +LDADD = libbecome.a @LEXLIB@ + become_SOURCES = become.c keygen_SOURCES = keygen.c +bcquery_SOURCES = bcquery.c + +become_DEPENDENCIES = libbecome.a +keygen_DEPENDENCIES = libbecome.a +bcquery_DEPENDENCIES = libbecome.a + +##----- Become must be setuid root ------------------------------------------ -become keygen: libbcm.a +install-exec-hook: + become_prog=${bindir}/`echo become|sed '${transform}'`; \ + { chown root $${become_prog} && \ + chmod 4755 $${become_prog}; } || \ + { echo ">>>>>"; \ + echo ">>>>> $${become_prog} must be installed setuid-root"; \ + echo ">>>>>"; \ + } ##----- Testing ------------------------------------------------------------- ## --- The test programs --- TESTS = \ - name-test sym-test userdb-test netg-test \ + name-test netg-test sym-test userdb-test \ crypt-test \ blowfish-test idea-test md5-test @@ -108,21 +159,21 @@ SUFFIXES = .tro ## This is a right pain. However, `automake' provides no way of automating ## this. (A drop-out to raw perl would be nice, for example.) -name-test: name.tro libbcm.a - $(LINK) name.tro libbcm.a $(LIBS) -sym-test: sym.tro libbcm.a - $(LINK) sym.tro libbcm.a $(LIBS) -userdb-test: userdb.tro libbcm.a - $(LINK) userdb.tro libbcm.a $(LIBS) -crypt-test: crypt.tro libbcm.a - $(LINK) crypt.tro libbcm.a $(LIBS) -blowfish-test: blowfish.tro libbcm.a - $(LINK) blowfish.tro libbcm.a $(LIBS) -idea-test: idea.tro libbcm.a - $(LINK) idea.tro libbcm.a $(LIBS) -md5-test: md5.tro libbcm.a - $(LINK) md5.tro libbcm.a $(LIBS) -netg-test: netg.tro libbcm.a - $(LINK) netg.tro libbcm.a +name-test: name.tro libbecome.a + $(LINK) name.tro libbecome.a $(LIBS) +sym-test: sym.tro libbecome.a + $(LINK) sym.tro libbecome.a $(LIBS) +userdb-test: userdb.tro libbecome.a + $(LINK) userdb.tro libbecome.a $(LIBS) +crypt-test: crypt.tro libbecome.a + $(LINK) crypt.tro libbecome.a $(LIBS) +blowfish-test: blowfish.tro libbecome.a + $(LINK) blowfish.tro libbecome.a $(LIBS) +md5-test: md5.tro libbecome.a + $(LINK) md5.tro libbecome.a $(LIBS) +netg-test: netg.tro libbecome.a + $(LINK) netg.tro libbecome.a + +CLEANFILES = *.tro y.output ##----- That's all, folks ---------------------------------------------------