Merged revisions 52052 via svnmerge from
[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 all uninstall
15
16 # to get check_expr, add it to the ALL_UTILS list
17 ALL_UTILS:=astman smsq stereorize streamplayer aelparse muted check_expr
18 UTILS:=$(ALL_UTILS)
19
20 include $(ASTTOPDIR)/Makefile.rules
21
22 ifeq ($(OSARCH),SunOS)
23   LIBS+=-lsocket -lnsl
24   UTILS:=$(filter-out muted,$(UTILS))
25 endif
26
27 ifeq ($(OSARCH),OpenBSD)
28   UTILS:=$(filter-out muted,$(UTILS))
29 endif
30
31 ifeq ($(POPT_LIB),)
32   UTILS:=$(filter-out smsq,$(UTILS))
33 endif
34
35 ifeq ($(NEWT_LIB),)
36   UTILS:=$(filter-out astman,$(UTILS))
37 endif
38
39 ifneq ($(filter pbx_ael,$(MENUSELECT_PBX)),)
40   UTILS:=$(filter-out aelparse,$(UTILS))
41 endif
42
43 all: $(UTILS)
44
45 install:
46         for x in $(UTILS); do \
47                 if [ "$$x" != "none" ]; then \
48                         $(INSTALL) -m 755 $$x $(DESTDIR)$(ASTSBINDIR)/$$x; \
49                 fi; \
50         done 
51
52 uninstall:
53         for x in $(ALL_UTILS); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
54
55 clean:
56         rm -f *.o $(ALL_UTILS) check_expr
57         rm -f .*.o.d .*.oo.d
58         rm -f md5.c strcompat.c ast_expr2.c ast_expr2f.c pbx_ael.c
59         rm -f aelparse.c aelbison.c
60
61 md5.c: ../main/md5.c
62         @cp $< $@
63
64 astman: astman.o md5.o
65 astman: LIBS+=$(NEWT_LIB)
66
67 stereorize: stereorize.o frame.o
68 stereorize: LIBS+=-lm
69
70 strcompat.c: ../main/strcompat.c
71         @cp $< $@
72
73 ../main/ast_expr2.c:
74         @echo "   [BISON] ../main/ast_expr2.y -> $@"
75         @bison -o $@ -d --name-prefix=ast_yy ../main/ast_expr2.y
76
77 ../main/ast_expr2f.c:
78         @echo "   [FLEX] ../main/ast_expr2.fl -> $@"
79         @flex -o $@ --full ../main/ast_expr2.fl
80
81 ast_expr2.c: ../main/ast_expr2.c
82         @cp $< $@
83
84 ast_expr2f.c: ../main/ast_expr2f.c
85         @cp $< $@
86
87 ast_expr2f.o: ASTCFLAGS+=-DSTANDALONE_AEL -I../main
88
89 check_expr: check_expr.o ast_expr2.o ast_expr2f.o
90
91 aelbison.c: ../pbx/ael/ael.tab.c
92         @cp $< $@
93 aelbison.o: aelbison.c ../pbx/ael/ael.tab.h ../include/asterisk/ael_structs.h
94 aelbison.o: ASTCFLAGS+=-I../pbx
95
96 pbx_ael.c: ../pbx/pbx_ael.c
97         @cp $< $@
98 pbx_ael.o: ASTCFLAGS+=-DSTANDALONE_AEL
99
100 ael_main.o: ael_main.c ../include/asterisk/ael_structs.h
101
102 aelparse.c: ../pbx/ael/ael_lex.c
103         @cp $< $@
104 aelparse.o: aelparse.c ../include/asterisk/ael_structs.h ../pbx/ael/ael.tab.h
105 aelparse.o: ASTCFLAGS+=-I../pbx -DSTANDALONE_AEL
106
107 aelparse: aelparse.o aelbison.o pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o strcompat.o
108
109 testexpr2s: ../main/ast_expr2f.c ../main/ast_expr2.c ../main/ast_expr2.h
110         $(CC) -g -c -I../include -DSTANDALONE_AEL ../main/ast_expr2f.c -o ast_expr2f.o
111         $(CC) -g -c -I../include -DSTANDALONE_AEL ../main/ast_expr2.c -o ast_expr2.o
112         $(CC) -g -o testexpr2s ast_expr2f.o ast_expr2.o
113         rm ast_expr2.o ast_expr2f.o 
114         ./testexpr2s expr2.testinput
115
116 smsq: smsq.o strcompat.o
117 smsq: LIBS+=$(POPT_LIB)
118
119 streamplayer: streamplayer.o
120
121 muted: muted.o
122 muted: LIBS+=$(AUDIO_LIBS)
123
124 ifneq ($(wildcard .*.d),)
125    include .*.d
126 endif