e8068ef620afe8fce39ec3e6373ee6d35dd7aff9
[become] / src / Makefile.am
1 ## Process this file with `automake' to generate `Makefile.in'
2 ## -*-makefile-*-
3 ##
4 ## $Id: Makefile.am,v 1.3 1997/08/07 09:39:36 mdw Exp $
5 ##
6 ## Makefile for `become'
7 ##
8 ## (c) 1997 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.3 1997/08/07 09:39:36 mdw
33 ## Add new source files, and remove options inappropriate for subsidiary
34 ## Makefiles.
35 ##
36 ## Revision 1.2 1997/08/04 10:24:19 mdw
37 ## Sources placed under CVS control.
38 ##
39
40 ##----- General setup things ------------------------------------------------
41
42 ## --- What to make ---
43
44 bin_PROGRAMS = become keygen
45 noinst_LIBRARIES = bcm
46
47 ##----- Building the main code ----------------------------------------------
48
49 ## --- The library contains most of the interesting stuff ---
50
51 bcm_SOURCES = \
52 check.c daemon.c \
53 lexer.l parser.y \
54 class.c name.c netg.c rule.c set.c sym.c userdb.c \
55 crypt.c \
56 noise.c rand.c \
57 icrypt.c idea.c md5.c \
58 mdwopt.c tx.c utils.c \
59 \
60 become.h \
61 check.h daemon.h \
62 lexer.h parser.h \
63 class.h name.h netg.h rule.h set.h sym.h userdb.h \
64 crypt.h \
65 noise.h rand.h \
66 icrypt.h idea.h md5.h \
67 mdwopt.h tx.h utils.h \
68 dbutils.h
69
70 BUILT_SOURCES = \
71 parser.c lexer.c parser.tab.h
72
73 ## --- Yaccing and lexing ---
74
75 parser.c parser.tab.h: $(srcdir)/parser.y
76 @YACC@ -d -v $(srcdir)/parser.y
77 mv y.tab.c parser.c
78 mv y.tab.h parser.tab.h
79
80 lexer.c: $(srcdir)/lexer.l
81 @LEX@ $(srcdir)/lexer.l
82 mv lex.yy.c lexer.c
83
84 ## --- The main programs ---
85
86 LDADD = libbcm.a @LEXLIB@
87 become_SOURCES = become.c
88 keygen_SOURCES = keygen.c
89
90 become keygen: libbcm.a
91
92 ##----- Testing -------------------------------------------------------------
93
94 ## --- The test programs ---
95
96 TESTS = \
97 name-test netg-test sym-test userdb-test \
98 crypt-test \
99 blowfish-test idea-test md5-test
100
101 ## --- How to build a test rig ---
102
103 SUFFIXES = .tro
104 .c.tro:
105 $(COMPILE) -DTEST_RIG $< -o $@
106
107 ## --- Now build all the test programs ---
108 ##
109 ## This is a right pain. However, `automake' provides no way of automating
110 ## this. (A drop-out to raw perl would be nice, for example.)
111
112 name-test: name.tro libbcm.a
113 $(LINK) name.tro libbcm.a $(LIBS)
114 sym-test: sym.tro libbcm.a
115 $(LINK) sym.tro libbcm.a $(LIBS)
116 userdb-test: userdb.tro libbcm.a
117 $(LINK) userdb.tro libbcm.a $(LIBS)
118 crypt-test: crypt.tro libbcm.a
119 $(LINK) crypt.tro libbcm.a $(LIBS)
120 blowfish-test: blowfish.tro libbcm.a
121 $(LINK) blowfish.tro libbcm.a $(LIBS)
122 idea-test: idea.tro libbcm.a
123 $(LINK) idea.tro libbcm.a $(LIBS)
124 md5-test: md5.tro libbcm.a
125 $(LINK) md5.tro libbcm.a $(LIBS)
126 netg-test: netg.tro libbcm.a
127 $(LINK) netg.tro libbcm.a
128
129 ##----- That's all, folks ---------------------------------------------------