Change library to `libbecome.a', for aesthetic reasons.
[become] / src / Makefile.am
index af41625..aaaf90a 100644 (file)
@@ -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 ----------------------------------------------------
 ##----- 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 ---------------------------------------------------