summaryrefslogtreecommitdiff
path: root/xpp/utils/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/utils/Makefile')
-rw-r--r--xpp/utils/Makefile27
1 files changed, 23 insertions, 4 deletions
diff --git a/xpp/utils/Makefile b/xpp/utils/Makefile
index c565093..d23b50d 100644
--- a/xpp/utils/Makefile
+++ b/xpp/utils/Makefile
@@ -1,6 +1,8 @@
PEDANTIC = -ansi -pedantic -std=c99
RANLIB = ranlib
+INSTALL = install
+INSTALL_DATA = install -m 644
TOPDIR ?= ../..
@@ -11,7 +13,20 @@ INSTALL_DATA = $(INSTALL) -m 644
BINDIR = $(prefix)/sbin
DATADIR = $(datadir)/zaptel
MANDIR = $(mandir)/man8
+
+# In 1.4 those are provided by autoconf through makeopts
+prefix ?= /usr
+datadir ?= $(prefix)/share
+mandir ?= $(datadir)/man
+INSTALL ?= install
+
+INSTALL_DATA = $(INSTALL) -m 644
+
+BINDIR = $(prefix)/sbin
+DATADIR = $(datadir)/zaptel
+MANDIR = $(mandir)/man8
HOTPLUG_USB_DIR = /etc/hotplug/usb
+UDEV_RULES_DIR = /etc/udev/rules.d
XPD_FIRMWARE = $(wildcard ../firmwares/*.hex)
XPD_INIT_DATA = $(XPD_FIRMWARE) init_fxo_modes
@@ -20,17 +35,17 @@ 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)
+CONFIG_USB ?= y
+ZAPTEL_DIR ?= ../..
-WCTDM=$(DRIVER_DIR)/wctdm.c
+WCTDM=$(ZAPTEL_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)
+ifneq (,$(filter y m,$(CONFIG_USB)))
TARGETS += libhexfile.a fpga_load test_parse
PROG_INSTALL += fpga_load
MAN_INSTALL += fpga_load.8
@@ -49,6 +64,8 @@ install: all
$(INSTALL) -d $(DESTDIR)$(HOTPLUG_USB_DIR)
$(INSTALL_DATA) xpp_fxloader.usermap $(DESTDIR)$(HOTPLUG_USB_DIR)/
$(INSTALL) xpp_fxloader $(DESTDIR)$(HOTPLUG_USB_DIR)/
+ $(INSTALL) -d $(DESTDIR)$(UDEV_RULES_DIR)
+ $(INSTALL_DATA) xpp.rules $(DESTDIR)$(UDEV_RULES_DIR)/
libhexfile.a: hexfile.o
$(AR) cru $@ $^
@@ -57,6 +74,8 @@ libhexfile.a: hexfile.o
fpga_load: fpga_load.o libhexfile.a
$(CC) -L. -o $@ $@.o $(EXTRA_LIBS) -lhexfile -lusb
+fpga_load.o: CFLAGS+=-D_GNU_SOURCE # We use memrchr()
+
hexfile.o: hexfile.c hexfile.h
$(CC) $(CFLAGS) $(PEDANTIC) -c $<