summaryrefslogtreecommitdiff
path: root/kernel/xpp/utils/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/xpp/utils/Makefile')
-rw-r--r--kernel/xpp/utils/Makefile38
1 files changed, 18 insertions, 20 deletions
diff --git a/kernel/xpp/utils/Makefile b/kernel/xpp/utils/Makefile
index 2a12166..b88bb75 100644
--- a/kernel/xpp/utils/Makefile
+++ b/kernel/xpp/utils/Makefile
@@ -1,6 +1,5 @@
PEDANTIC = -ansi -pedantic -std=c99
-RANLIB = ranlib
INSTALL = install
INSTALL_DATA = install -m 644
@@ -36,8 +35,8 @@ PERL_MODS_PAT := *.pm $(PERL_DIRS:%=%/*.pm)
PERL_MODS := $(shell cd zconf; echo $(PERL_MODS_PAT))
XPD_FIRMWARE = $(wildcard ../firmwares/*.hex)
-XPD_INIT_DATA = $(XPD_FIRMWARE) init_fxo_modes
-XPD_INIT = $(wildcard ../init_card_?_*) xpp_fxloader
+XPD_INIT_DATA = $(XPD_FIRMWARE) init_fxo_modes ../XppConfig.pm
+XPD_INIT = $(wildcard ../init_card_?_*) xpp_fxloader waitfor_xpds zaptel_drivers
# Variables that should be defined above, but need sane defaults:
# FIXME: Are those values really sane?
@@ -49,7 +48,7 @@ ifeq (,$(PBX_LIBUSB))
PBX_LIBUSB = $(shell if [ -r /usr/include/usb.h ]; then echo 1; else echo 0; fi)
endif
-WCTDM=$(shell for i in $(ZAP_KERNEL)/wctdm.c $(ZAP_KERNEL)/fxo_modes.h; do [ -f "$$i" ] && echo "$$i"; done)
+WCTDM=$(shell for i in $(ZAP_KERNEL)/wctdm.c $(ZAP_KERNEL)/fxo_modes.h fxo_modes.h; do [ -f "$$i" ] && echo "$$i"; done)
CFLAGS = -g -Wall $(EXTRA_CFLAGS)
@@ -70,7 +69,8 @@ TARGETS = init_fxo_modes print_modes perlcheck
PROG_INSTALL = genzaptelconf
MAN_INSTALL = $(PROG_INSTALL:%=%.8)
ifeq (1,$(PBX_LIBUSB))
-TARGETS += libhexfile.a fpga_load test_parse
+TARGETS += fpga_load \
+ test_parse
PROG_INSTALL += fpga_load
endif
ifneq (,$(PERLLIBDIR))
@@ -108,28 +108,19 @@ ifneq (,$(PERLLIBDIR))
done
endif
-libhexfile.a: hexfile.o
- $(AR) cru $@ $^
- $(RANLIB) $@
-
-fpga_load: fpga_load.o libhexfile.a
- $(CC) -L. -o $@ $@.o $(EXTRA_LIBS) -lhexfile -lusb
+fpga_load: fpga_load.o hexfile.o
+ $(CC) -L. -o $@ $^ $(EXTRA_LIBS) -lusb
fpga_load.o: CFLAGS+=-D_GNU_SOURCE # We use memrchr()
-hexfile.o: hexfile.c hexfile.h
- $(CC) $(CFLAGS) $(PEDANTIC) -c $<
-
-test_parse.o: test_parse.c hexfile.h
- $(CC) $(CFLAGS) $(PEDANTIC) -c $<
-
-test_parse: test_parse.o libhexfile.a
- $(CC) -L. -o $@ $@.o $(EXTRA_LIBS) -lhexfile -lusb
+test_parse: test_parse.o hexfile.o
+ $(CC) -L. -o $@ $^ $(EXTRA_LIBS) -lusb
print_modes: print_modes.c wctdm_fxomodes.h
$(HOSTCC) -o $@ $(CFLAGS) $<
wctdm_fxomodes.h: $(WCTDM)
+ @if [ "$(WCTDM)" = "" ]; then echo 1>&2 "WCTDM is not defined. Aborting."; exit 1; fi
@echo Building FXO modes from: $(WCTDM)
perl -n -e 'print if (/^static struct fxo_mode {$$/ .. /};$$/)' $(WCTDM) >$@ || rm -f $@
@@ -141,4 +132,11 @@ perlcheck: $(PERL_SCRIPTS)
touch $@
clean:
- $(RM) *.o $(TARGETS) wctdm_fxomodes.h
+ $(RM) .depend *.o $(TARGETS) wctdm_fxomodes.h
+
+.PHONY: depend
+depend: .depend
+.depend: *.c *.h wctdm_fxomodes.h
+ @$(CC) -MM *.c > $@ || rm -f $@
+
+include .depend