don't let make use implicit rules for bison/flex output files
[asterisk/asterisk.git] / utils / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Various utilities
5 #
6 # Copyright (C) 1999-2006, Digium
7 #
8 # Mark Spencer <markster@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 #
15 # Don't use ast mm routines
16 #
17 UTILS:=astman smsq stereorize streamplayer aelparse
18
19 ifeq (${OSARCH},SunOS)
20   SOL=../strcompat.o
21   SOLLIBS=-lsocket -lnsl
22 endif
23
24 ifeq ($(POPT_LIB),)
25   UTILS:=$(filter-out smsq,$(UTILS))
26 endif
27
28 ifeq ($(NEWT_LIB),)
29   UTILS:=$(filter-out astman,$(UTILS))
30 endif
31
32 all: depend $(UTILS)
33
34 install:
35         for x in $(UTILS); do \
36                 if [ "$$x" != "none" ]; then \
37                         $(INSTALL) -m 755 $$x $(DESTDIR)$(ASTSBINDIR)/$$x; \
38                 fi; \
39         done 
40
41 uninstall:
42         for x in $(TARGET); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
43
44 clean-depend:
45         rm -f .depend
46
47 clean: clean-depend
48         rm -f *.o $(TARGET) check_expr
49         rm -f ast_expr2.o ast_expr2f.o
50
51 astman.o: astman.c
52         $(CC) $(CFLAGS) -c -o $@ $<
53
54 astman: astman.o ../md5.o
55         $(CC) $(CFLAGS) -o $@ $< ../md5.o -lnewt
56
57 stereorize: stereorize.o frame.o
58         $(CC) $(CFLAGS) -o stereorize stereorize.o frame.o -lm
59
60 .PHONY: ../pbx/ael/aelflex.o ../pbx/ael/aelbison.o ../pbx/pbx_ael.o
61
62 ../ast_expr2.c:
63         bison -o $@ -d --name-prefix=ast_yy ../ast_expr2.y
64
65 ../ast_expr2f.c:
66         flex -o $@ --full ../ast_expr2.fl
67
68 ast_expr2.o: ../ast_expr2.c
69         gcc  $(CFLAGS) -c -o $@ $<
70
71 ast_expr2f.o: ../ast_expr2f.c
72         gcc  $(CFLAGS) -c -DSTANDALONE -o $@ $<
73
74 check_expr: check_expr.c ast_expr2.o ast_expr2f.o
75         $(CC) $(CFLAGS) -o $@ $^
76
77 aelparse : ../pbx/ael/aelflex.o ../pbx/ael/aelbison.o ../pbx/pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o
78         $(CC) $(CFLAGS) -g -o aelparse ../pbx/ael/aelflex.o ../pbx/ael/aelbison.o ael_main.o ../pbx/pbx_ael.o ast_expr2f.o ast_expr2.o
79
80 ael_main.o : ael_main.c ../include/asterisk/ael_structs.h
81         $(CC) $(CFLAGS) -c -g -o ael_main.o ael_main.c
82
83 ael_main1.o : ael_main.c ../include/asterisk/ael_structs.h
84         $(CC) $(CFLAGS) -c -g  -o ael_main1.o ael_main.c
85
86 testexpr2s: ../ast_expr2f.c ../ast_expr2.c ../ast_expr2.h
87         gcc -g -c -I../include -DSTANDALONE ../ast_expr2f.c -o ast_expr2f.o
88         gcc -g -c -I../include -DSTANDALONE ../ast_expr2.c -o ast_expr2.o
89         gcc -g -o testexpr2s ast_expr2f.o ast_expr2.o
90         rm ast_expr2.o ast_expr2f.o 
91         ./testexpr2s expr2.testinput
92
93 smsq.o: smsq.c
94         $(CC) $(CFLAGS) -c -o $@ $<
95
96 smsq: smsq.o
97         $(CC) $(CFLAGS) -o smsq ${SOL} smsq.o -lpopt
98
99 streamplayer: streamplayer.o
100         $(CC) $(CFLAGS) -o streamplayer ${SOL} streamplayer.o ${SOLLIBS}
101
102 ifneq ($(wildcard .depend),)
103   include .depend
104 endif
105
106 depend: .depend
107
108 .depend:
109         ../build_tools/mkdep $(CFLAGS) `ls *.c`
110