usbmodeswitch: Updated to v.1.2.6 from shibby's branch.
[tomato.git] / release / src / router / usbmodeswitch / Makefile
blob6d4204a57ef40a60aa2522d2e24f6a52eccd0305
1 PROG = usb_modeswitch
2 VERS = 1.2.6
3 CC = gcc
4 CFLAGS += -Wall
5 LIBS = -lusb-1.0
6 RM = /bin/rm -f
7 OBJS = usb_modeswitch.c
8 PREFIX = $(DESTDIR)/usr
9 ETCDIR = $(DESTDIR)/etc
10 UDEVDIR = $(DESTDIR)/lib/udev
11 SBINDIR = $(PREFIX)/sbin
12 MANDIR = $(PREFIX)/share/man/man1
13 VPATH = jimtcl
14 HOST_TCL := $(shell cd jim && ./autosetup/find-tclsh)
15 ifeq (,$(findstring jimsh0,$(HOST_TCL)))
16 TCL ?= $(HOST_TCL)
17 else
18 TCL ?= /usr/bin/tclsh
19 endif
20 JIM_CONFIGURE_OPTS =--disable-lineedit \
21 --with-out-jim-ext="stdlib posix load signal syslog" --prefix=/usr
23 .PHONY: clean install install-common uninstall \
24 script shared static \
25 dispatcher-script dispatcher-shared dispatcher-static \
26 install-script install-shared install-static
28 all: script
30 script: $(PROG) dispatcher-script
32 shared: $(PROG) dispatcher-shared
34 static: $(PROG) dispatcher-static
36 $(PROG): $(OBJS) usb_modeswitch.h
37 $(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS)
39 jim/libjim.so:
40 cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS) --shared
41 $(MAKE) -C jim lib
43 jim/libjim.a:
44 cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS)
45 $(MAKE) -C jim lib
47 dispatcher-script: usb_modeswitch.tcl
48 sed 's_!/usr/bin/tclsh_!'"$(TCL)"'_' < usb_modeswitch.tcl > usb_modeswitch_dispatcher
50 dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string
51 $(CC) dispatcher.c $(LDFLAGS) -Ljim -ljim -Ijim -o usb_modeswitch_dispatcher $(CFLAGS)
53 dispatcher-static: jim/libjim.a dispatcher.c usb_modeswitch.string
54 $(CC) dispatcher.c $(LDFLAGS) jim/libjim.a -Ijim -o usb_modeswitch_dispatcher $(CFLAGS)
56 usb_modeswitch.string: usb_modeswitch.tcl
57 $(HOST_TCL) make_string.tcl usb_modeswitch.tcl > $@
59 clean:
60 $(RM) usb_modeswitch
61 $(RM) usb_modeswitch_dispatcher
62 $(RM) usb_modeswitch.string
63 $(RM) jim/autosetup/jimsh0
64 $(RM) jim/autosetup/jimsh0.c
66 distclean: clean
67 -$(MAKE) -C jim distclean
69 ums-clean:
70 $(RM) usb_modeswitch
71 $(RM) usb_modeswitch_dispatcher
72 $(RM) usb_modeswitch.string
74 install-common: $(PROG) usb_modeswitch_dispatcher
75 install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
76 install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
77 install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
78 install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
79 install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
80 install -d $(DESTDIR)/var/lib/usb_modeswitch
82 install: install-script
84 install-script: dispatcher-script install-common
86 install-shared: dispatcher-shared install-common
88 install-static: dispatcher-static install-common
90 uninstall:
91 $(RM) $(SBINDIR)/usb_modeswitch
92 $(RM) $(SBINDIR)/usb_modeswitch_dispatcher
93 $(RM) $(UDEVDIR)/usb_modeswitch
94 $(RM) $(ETCDIR)/usb_modeswitch.conf
95 $(RM) $(MANDIR)/usb_modeswitch.1
96 $(RM) -R $(DESTDIR)/var/lib/usb_modeswitch