1 ## Process this file with `automake' to generate `Makefile.in'
4 ## $Id: Makefile.am,v 1.13 1999/05/04 16:50:59 mdw Exp $
6 ## Makefile for `become'
11 ##----- Licensing notice ----------------------------------------------------
13 ## This file is part of `become'
15 ## `Become' is free software; you can redistribute it and/or modify
16 ## it under the terms of the GNU General Public License as published by
17 ## the Free Software Foundation; either version 2 of the License, or
18 ## (at your option) any later version.
20 ## `Become' is distributed in the hope that it will be useful,
21 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
22 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 ## GNU General Public License for more details.
25 ## You should have received a copy of the GNU General Public License
26 ## along with `become'; if not, write to the Free Software Foundation,
27 ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29 ##----- Revision history ----------------------------------------------------
31 ## $Log: Makefile.am,v $
32 ## Revision 1.13 1999/05/04 16:50:59 mdw
33 ## Change library to `libbecome.a', for aesthetic reasons.
35 ## Revision 1.12 1999/05/04 16:36:03 mdw
36 ## Changes for new Automake version.
38 ## Revision 1.11 1998/06/18 15:52:05 mdw
39 ## Remove the IDEA test case.
41 ## Revision 1.10 1998/04/23 13:17:17 mdw
42 ## New program `bcquery', and `ypstuff' module added.
44 ## Revision 1.9 1998/02/20 18:12:35 mdw
45 ## Make the `become' program setuid root when installing.
47 ## Revision 1.8 1998/01/12 16:45:36 mdw
48 ## Fix copyright date.
50 ## Revision 1.7 1997/09/26 09:14:57 mdw
51 ## Merged blowfish branch into trunk.
53 ## Revision 1.6.2.1 1997/09/26 09:07:56 mdw
54 ## Use the Blowfish encryption algorithm instead of IDEA. This is partly
55 ## because I prefer Blowfish (without any particularly strong evidence) but
56 ## mainly because IDEA is patented and Blowfish isn't.
58 ## Revision 1.6 1997/09/18 11:17:18 mdw
59 ## Fix comment leaders. Don't know why this CVS keeps breaking them.
60 ## Could be DEC's bogus version of RCS being picked up.
62 ## Revision 1.5 1997/09/17 10:28:25 mdw
63 ## Remove `set.c'. No longer necessary.
65 ## Revision 1.4 1997/08/20 16:14:12 mdw
66 ## Build parser and lexer into the source directory. Other cosmetic
69 ## Revision 1.3 1997/08/07 09:39:36 mdw
70 ## Add new source files, and remove options inappropriate for subsidiary
73 ## Revision 1.2 1997/08/04 10:24:19 mdw
74 ## Sources placed under CVS control.
77 ##----- General setup things ------------------------------------------------
79 ## --- What to make ---
81 bin_PROGRAMS = become keygen bcquery
82 noinst_LIBRARIES = libbecome.a
84 ##----- Building the main code ----------------------------------------------
86 ## --- The library contains most of the interesting stuff ---
88 libbecome_a_SOURCES = \
91 class.c name.c netg.c rule.c sym.c userdb.c ypstuff.c \
94 icrypt.c blowfish.c md5.c \
95 mdwopt.c tx.c utils.c \
100 class.h name.h netg.h rule.h sym.h userdb.h ypstuff.h \
103 icrypt.h blowfish.h blowfish-sbox.h md5.h \
104 mdwopt.h tx.h utils.h \
108 parser.c parser.h lexer.c
110 ## --- Yaccing and lexing ---
115 for i in $(BUILT_SOURCES); do \
116 [ -r $(distdir)/$$i ] || ln $$i $(distdir)/$$i; \
119 ## --- The main programs ---
121 LDADD = libbecome.a @LEXLIB@
123 become_SOURCES = become.c
124 keygen_SOURCES = keygen.c
125 bcquery_SOURCES = bcquery.c
127 become_DEPENDENCIES = libbecome.a
128 keygen_DEPENDENCIES = libbecome.a
129 bcquery_DEPENDENCIES = libbecome.a
131 ##----- Become must be setuid root ------------------------------------------
134 become_prog=${bindir}/`echo become|sed '${transform}'`; \
135 { chown root $${become_prog} && \
136 chmod 4755 $${become_prog}; } || \
138 echo ">>>>> $${become_prog} must be installed setuid-root"; \
142 ##----- Testing -------------------------------------------------------------
144 ## --- The test programs ---
147 name-test netg-test sym-test userdb-test \
149 blowfish-test idea-test md5-test
151 ## --- How to build a test rig ---
155 $(COMPILE) -DTEST_RIG $< -o $@
157 ## --- Now build all the test programs ---
159 ## This is a right pain. However, `automake' provides no way of automating
160 ## this. (A drop-out to raw perl would be nice, for example.)
162 name-test: name.tro libbecome.a
163 $(LINK) name.tro libbecome.a $(LIBS)
164 sym-test: sym.tro libbecome.a
165 $(LINK) sym.tro libbecome.a $(LIBS)
166 userdb-test: userdb.tro libbecome.a
167 $(LINK) userdb.tro libbecome.a $(LIBS)
168 crypt-test: crypt.tro libbecome.a
169 $(LINK) crypt.tro libbecome.a $(LIBS)
170 blowfish-test: blowfish.tro libbecome.a
171 $(LINK) blowfish.tro libbecome.a $(LIBS)
172 md5-test: md5.tro libbecome.a
173 $(LINK) md5.tro libbecome.a $(LIBS)
174 netg-test: netg.tro libbecome.a
175 $(LINK) netg.tro libbecome.a
177 CLEANFILES = *.tro y.output
179 ##----- That's all, folks ---------------------------------------------------