PEDANTIC = -ansi -pedantic -std=c99 RANLIB = ranlib TOPDIR ?= ../.. -include $(TOPDIR)/makeopts INSTALL_DATA = $(INSTALL) -m 644 BINDIR = $(prefix)/sbin DATADIR = $(datadir)/zaptel MANDIR = $(mandir)/man8 HOTPLUG_USB_DIR = /etc/hotplug/usb XPD_FIRMWARE = $(wildcard ../firmwares/*.hex) XPD_INIT_DATA = $(XPD_FIRMWARE) init_fxo_modes XPD_INIT = $(wildcard ../init_card_?_*) ../calibrate_slics # Variables that should be defined above, but need sane defaults: # FIXME: Are those values really sane? HOSTCC ?= $(CC) PBX_LIBUSB ?= 1 DRIVER_DIR ?= $(TOPDIR) WCTDM=$(DRIVER_DIR)/wctdm.c CFLAGS = -g -Wall $(EXTRA_CFLAGS) TARGETS = init_fxo_modes print_modes adj_clock PROG_INSTALL = genzaptelconf adj_clock MAN_INSTALL = genzaptelconf.8 adj_clock.8 ifeq ($(PBX_LIBUSB),1) TARGETS += libhexfile.a fpga_load test_parse PROG_INSTALL += fpga_load MAN_INSTALL += fpga_load.8 endif all: $(TARGETS) install: all $(INSTALL) -d $(DESTDIR)$(BINDIR) $(INSTALL) $(PROG_INSTALL) $(DESTDIR)$(BINDIR)/ $(INSTALL) -d $(DESTDIR)$(DATADIR) $(INSTALL_DATA) $(XPD_INIT_DATA) $(DESTDIR)$(DATADIR)/ $(INSTALL) $(XPD_INIT) $(DESTDIR)$(DATADIR)/ $(INSTALL) -d $(DESTDIR)$(MANDIR) $(INSTALL_DATA) $(MAN_INSTALL) $(DESTDIR)$(MANDIR)/ $(INSTALL) -d $(DESTDIR)$(HOTPLUG_USB_DIR) $(INSTALL_DATA) xpp_fxloader.usermap $(DESTDIR)$(HOTPLUG_USB_DIR)/ $(INSTALL) xpp_fxloader $(DESTDIR)$(HOTPLUG_USB_DIR)/ libhexfile.a: hexfile.o $(AR) cru $@ $^ $(RANLIB) $@ fpga_load: fpga_load.o libhexfile.a $(CC) -L. -o $@ $@.o $(EXTRA_LIBS) -lhexfile -lusb 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 print_modes: print_modes.c wctdm_fxomodes.h $(HOSTCC) -o $@ $(CFLAGS) $< wctdm_fxomodes.h: $(WCTDM) perl -n -e 'print if (/^static struct fxo_mode {$$/ .. /};$$/)' $(WCTDM) >$@ init_fxo_modes: print_modes ./$< >$@ clean: $(RM) *.o $(TARGETS)