Don't try to build aelparse if pbx_ael is disabled in menuselect (otherwise the build...
[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 ifneq ($(filter pbx_ael.so,$(MENUSELECT_PBX)),)
33   UTILS:=$(filter-out aelparse,$(UTILS))
34 endif
35
36 all: depend $(UTILS)
37
38 install:
39         for x in $(UTILS); do \
40                 if [ "$$x" != "none" ]; then \
41                         $(INSTALL) -m 755 $$x $(DESTDIR)$(ASTSBINDIR)/$$x; \
42                 fi; \
43         done 
44
45 uninstall:
46         for x in $(TARGET); do rm -f $$x $(DESTDIR)$(ASTSBINDIR)/$$x; done
47
48 clean-depend:
49         rm -f .depend
50
51 clean: clean-depend
52         rm -f *.o $(TARGET) check_expr
53         rm -f ast_expr2.o ast_expr2f.o
54
55 astman.o: astman.c
56         $(CC) $(CFLAGS) -c -o $@ $<
57
58 astman: astman.o ../md5.o
59         $(CC) $(CFLAGS) -o $@ $< ../md5.o -lnewt
60
61 stereorize: stereorize.o frame.o
62         $(CC) $(CFLAGS) -o stereorize stereorize.o frame.o -lm
63
64 ../ast_expr2.c:
65         bison -o $@ -d --name-prefix=ast_yy ../ast_expr2.y
66
67 ../ast_expr2f.c:
68         flex -o $@ --full ../ast_expr2.fl
69
70 ast_expr2.o: ../ast_expr2.c
71         gcc  $(CFLAGS) -c -o $@ $<
72
73 ast_expr2f.o: ../ast_expr2f.c
74         gcc  $(CFLAGS) -c -DSTANDALONE -o $@ $<
75
76 check_expr: check_expr.c ast_expr2.o ast_expr2f.o
77         $(CC) $(CFLAGS) -o $@ $^
78
79 aelparse : ../pbx/ael/aelflex.o ../pbx/ael/aelbison.o ../pbx/pbx_ael.o ael_main.o ast_expr2f.o ast_expr2.o
80         $(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
81
82 ael_main.o : ael_main.c ../include/asterisk/ael_structs.h
83         $(CC) $(CFLAGS) -c -g -o ael_main.o ael_main.c
84
85 ael_main1.o : ael_main.c ../include/asterisk/ael_structs.h
86         $(CC) $(CFLAGS) -c -g  -o ael_main1.o ael_main.c
87
88 testexpr2s: ../ast_expr2f.c ../ast_expr2.c ../ast_expr2.h
89         gcc -g -c -I../include -DSTANDALONE ../ast_expr2f.c -o ast_expr2f.o
90         gcc -g -c -I../include -DSTANDALONE ../ast_expr2.c -o ast_expr2.o
91         gcc -g -o testexpr2s ast_expr2f.o ast_expr2.o
92         rm ast_expr2.o ast_expr2f.o 
93         ./testexpr2s expr2.testinput
94
95 smsq.o: smsq.c
96         $(CC) $(CFLAGS) -c -o $@ $<
97
98 smsq: smsq.o
99         $(CC) $(CFLAGS) -o smsq ${SOL} smsq.o -lpopt
100
101 streamplayer: streamplayer.o
102         $(CC) $(CFLAGS) -o streamplayer ${SOL} streamplayer.o ${SOLLIBS}
103
104 ifneq ($(wildcard .depend),)
105   include .depend
106 endif
107
108 depend: .depend
109
110 .depend:
111         ../build_tools/mkdep $(CFLAGS) `ls *.c`
112