- specify that 'all' is a .PHONY target
[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 .PHONY: clean clean-depend all
15
16 UTILS:=astman smsq stereorize streamplayer aelparse
17
18 ifeq (${OSARCH},SunOS)
19   SOL=../strcompat.o
20   SOLLIBS=-lsocket -lnsl
21 endif
22
23 ifeq ($(POPT_LIB),)
24   UTILS:=$(filter-out smsq,$(UTILS))
25 endif
26
27 ifeq ($(NEWT_LIB),)
28   UTILS:=$(filter-out astman,$(UTILS))
29 endif
30
31 ifneq ($(filter pbx_ael,$(MENUSELECT_PBX)),)
32   UTILS:=$(filter-out aelparse,$(UTILS))
33 endif
34
35 all: $(UTILS)
36
37 install:
38         for x in $(UTILS); do \
39                 if [ "$$x" != "none" ]; then \
40                         $(INSTALL) -m 755 $$x $(DESTDIR)$(ASTSBINDIR)/$$x; \
41                 fi; \
42         done 
43
44 uninstall:
45         for x in $(UTILS); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
46
47 clean-depend:
48         rm -f .depend
49
50 clean: clean-depend
51         rm -f *.o $(UTILS) check_expr
52         rm -f ast_expr2.o ast_expr2f.o
53
54 astman.o: astman.c
55         $(CC) $(CFLAGS) -c -o $@ $<
56
57 astman: astman.o ../md5.o
58         $(CC) $(CFLAGS) -o $@ $< ../md5.o -lnewt
59
60 stereorize: stereorize.o frame.o
61         $(CC) $(CFLAGS) -o stereorize stereorize.o frame.o -lm
62
63 ../ast_expr2.c:
64         bison -o $@ -d --name-prefix=ast_yy ../ast_expr2.y
65
66 ../ast_expr2f.c:
67         flex -o $@ --full ../ast_expr2.fl
68
69 ast_expr2.o: ../ast_expr2.c
70         gcc  $(CFLAGS) -c -o $@ $<
71
72 ast_expr2f.o: ../ast_expr2f.c
73         gcc  $(CFLAGS) -c -DSTANDALONE -o $@ $<
74
75 check_expr: check_expr.c ast_expr2.o ast_expr2f.o
76         $(CC) $(CFLAGS) -o $@ $^
77
78 aelflex.o: ../pbx/ael/ael_lex.c ../include/asterisk/ael_structs.h ../pbx/ael/ael.tab.h
79         $(CC) $(CFLAGS) -I../pbx -DSTANDALONE -c -o $@ $<
80
81 aelbison.o: ../pbx/ael/ael.tab.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h
82         $(CC) $(CFLAGS) -I../pbx -c -o $@ $<
83
84 pbx_ael.o: ../pbx/pbx_ael.c
85         $(CC) $(CFLAGS) -c -o $@ $<
86
87 aelparse : aelflex.o aelbison.o pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o
88         $(CC) $(CFLAGS) -g -o aelparse aelflex.o aelbison.o ael_main.o pbx_ael.o ast_expr2f.o ast_expr2.o
89
90 ael_main.o : ael_main.c ../include/asterisk/ael_structs.h
91         $(CC) $(CFLAGS) -c -g -o ael_main.o ael_main.c
92
93 ael_main1.o : ael_main.c ../include/asterisk/ael_structs.h
94         $(CC) $(CFLAGS) -c -g  -o ael_main1.o ael_main.c
95
96 testexpr2s: ../ast_expr2f.c ../ast_expr2.c ../ast_expr2.h
97         $(CC) -g -c -I../include -DSTANDALONE ../ast_expr2f.c -o ast_expr2f.o
98         $(CC) -g -c -I../include -DSTANDALONE ../ast_expr2.c -o ast_expr2.o
99         $(CC) -g -o testexpr2s ast_expr2f.o ast_expr2.o
100         rm ast_expr2.o ast_expr2f.o 
101         ./testexpr2s expr2.testinput
102
103 smsq.o: smsq.c
104         $(CC) $(CFLAGS) -c -o $@ $<
105
106 smsq: smsq.o
107         $(CC) $(CFLAGS) -o smsq ${SOL} smsq.o -lpopt
108
109 streamplayer: streamplayer.o
110         $(CC) $(CFLAGS) -o streamplayer ${SOL} streamplayer.o ${SOLLIBS}
111
112 ifneq ($(wildcard .depend),)
113   include .depend
114 endif
115
116 depend: .depend
117
118 .depend:
119         ../build_tools/mkdep $(CFLAGS) `ls *.c`
120