chiark / gitweb /
Major overhaul. Now uses DSA signatures rather than the bogus symmetric
[become] / src / Makefile.am
1 ## Process this file with `automake' to generate `Makefile.in'
2 ## -*-makefile-*-
3 ##
4 ## $Id: Makefile.am,v 1.14 2003/10/12 00:14:55 mdw Exp $
5 ##
6 ## Makefile for `become'
7 ##
8 ## (c) 1998 EBI
9 ##
10
11 ##----- Licensing notice ----------------------------------------------------
12 ##
13 ## This file is part of `become'
14 ## 
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.
19 ## 
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.
24 ## 
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.
28
29 ##----- Revision history ----------------------------------------------------
30 ##
31 ## $Log: Makefile.am,v $
32 ## Revision 1.14  2003/10/12 00:14:55  mdw
33 ## Major overhaul.  Now uses DSA signatures rather than the bogus symmetric
34 ## encrypt-and-hope thing.  Integrated with mLib and Catacomb.
35 ##
36 ## Revision 1.13  1999/05/04 16:50:59  mdw
37 ## Change library to `libbecome.a', for aesthetic reasons.
38 ##
39 ## Revision 1.12  1999/05/04 16:36:03  mdw
40 ## Changes for new Automake version.
41 ##
42 ## Revision 1.11  1998/06/18  15:52:05  mdw
43 ## Remove the IDEA test case.
44 ##
45 ## Revision 1.10  1998/04/23 13:17:17  mdw
46 ## New program `bcquery', and `ypstuff' module added.
47 ##
48 ## Revision 1.9  1998/02/20 18:12:35  mdw
49 ## Make the `become' program setuid root when installing.
50 ##
51 ## Revision 1.8  1998/01/12 16:45:36  mdw
52 ## Fix copyright date.
53 ##
54 ## Revision 1.7  1997/09/26 09:14:57  mdw
55 ## Merged blowfish branch into trunk.
56 ##
57 ## Revision 1.6.2.1  1997/09/26 09:07:56  mdw
58 ## Use the Blowfish encryption algorithm instead of IDEA.  This is partly
59 ## because I prefer Blowfish (without any particularly strong evidence) but
60 ## mainly because IDEA is patented and Blowfish isn't.
61 ##
62 ## Revision 1.6  1997/09/18 11:17:18  mdw
63 ## Fix comment leaders.  Don't know why this CVS keeps breaking them.
64 ## Could be DEC's bogus version of RCS being picked up.
65 ##
66 ## Revision 1.5  1997/09/17  10:28:25  mdw
67 ## Remove `set.c'.  No longer necessary.
68 ##
69 ## Revision 1.4  1997/08/20  16:14:12  mdw
70 ## Build parser and lexer into the source directory.  Other cosmetic
71 ## things.
72 ##
73 ## Revision 1.3  1997/08/07 09:39:36  mdw
74 ## Add new source files, and remove options inappropriate for subsidiary
75 ## Makefiles.
76 ##
77 ## Revision 1.2  1997/08/04 10:24:19  mdw
78 ## Sources placed under CVS control.
79 ##
80
81 ##----- General setup things ------------------------------------------------
82
83 ## --- What to make ---
84
85 bin_PROGRAMS = become bcquery
86 noinst_LIBRARIES = libbecome.a
87
88 ##----- Building the main code ----------------------------------------------
89
90 ## --- The library contains most of the interesting stuff ---
91
92 libbecome_a_SOURCES = \
93         check.c daemon.c \
94         lexer.l parser.y \
95         class.c name.c netg.c rule.c userdb.c ypstuff.c \
96         \
97         become.h \
98         check.h daemon.h \
99         lexer.h parse.h \
100         class.h name.h netg.h rule.h userdb.h ypstuff.h
101
102 BUILT_SOURCES = \
103         parser.c parser.h lexer.c
104
105 ## --- Yaccing and lexing ---
106
107 YFLAGS = -d -v
108
109 dist-hook:
110         for i in $(BUILT_SOURCES); do \
111           [ -r $(distdir)/$$i ] || ln $$i $(distdir)/$$i; \
112         done
113
114 ## --- The main programs ---
115
116 LDADD = libbecome.a @LEXLIB@
117
118 become_SOURCES = become.c
119 bcquery_SOURCES = bcquery.c
120
121 become_DEPENDENCIES = libbecome.a
122 bcquery_DEPENDENCIES = libbecome.a
123
124 ##----- Become must be setuid root ------------------------------------------
125
126 install-exec-hook:
127         become_prog=${bindir}/`echo become|sed '${transform}'`; \
128         { chown root $${become_prog} && \
129           chmod 4755 $${become_prog}; } || \
130         { echo ">>>>>"; \
131           echo ">>>>> $${become_prog} must be installed setuid-root"; \
132           echo ">>>>>"; \
133         }
134
135 ##----- Testing -------------------------------------------------------------
136
137 ## --- The test programs ---
138
139 TESTS = \
140         name-test netg-test sym-test userdb-test \
141         crypt-test \
142         blowfish-test idea-test md5-test
143
144 ## --- How to build a test rig ---
145
146 SUFFIXES = .tro
147 .c.tro:
148         $(COMPILE) -DTEST_RIG $< -o $@
149
150 ## --- Now build all the test programs ---
151 ##
152 ## This is a right pain.  However, `automake' provides no way of automating
153 ## this.  (A drop-out to raw perl would be nice, for example.)
154
155 name-test: name.tro libbecome.a
156         $(LINK) name.tro libbecome.a $(LIBS)
157 sym-test: sym.tro libbecome.a
158         $(LINK) sym.tro libbecome.a $(LIBS)
159 userdb-test: userdb.tro libbecome.a
160         $(LINK) userdb.tro libbecome.a $(LIBS)
161 crypt-test: crypt.tro libbecome.a
162         $(LINK) crypt.tro libbecome.a $(LIBS)
163 blowfish-test: blowfish.tro libbecome.a
164         $(LINK) blowfish.tro libbecome.a $(LIBS)
165 md5-test: md5.tro libbecome.a
166         $(LINK) md5.tro libbecome.a $(LIBS)
167 netg-test: netg.tro libbecome.a
168         $(LINK) netg.tro libbecome.a
169
170 CLEANFILES = *.tro y.output
171
172 ##----- That's all, folks ---------------------------------------------------