• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/usb-modeswitch-2.2.3/
1PROG        = usb_modeswitch
2VERS        = 2.2.3
3CC          ?= gcc
4CFLAGS      += -Wall
5#LIBS        = `pkg-config --libs --cflags libusb-1.0`
6RM          = /bin/rm -f
7OBJS        = usb_modeswitch.c
8PREFIX      = $(DESTDIR)/usr
9ETCDIR      = $(DESTDIR)/etc
10SYSDIR      = $(ETCDIR)/systemd/system
11UPSDIR      = $(ETCDIR)/init
12UDEVDIR     = $(DESTDIR)/lib/udev
13SBINDIR     = $(PREFIX)/sbin
14MANDIR      = $(PREFIX)/share/man/man1
15VPATH       = jimtcl
16HOST_TCL   := $(shell cd jim && ./autosetup/find-tclsh)
17ifeq (,$(findstring jimsh0,$(HOST_TCL)))
18TCL        ?= $(HOST_TCL)
19else
20TCL        ?= /usr/bin/tclsh
21endif
22JIM_CONFIGURE_OPTS = --disable-lineedit \
23	--with-out-jim-ext="stdlib posix load signal syslog" --prefix=/usr
24
25.PHONY: clean install install-common uninstall \
26	script shared static \
27	dispatcher-script dispatcher-shared dispatcher-static \
28	install-script install-shared install-static
29
30all: script
31
32script: $(PROG) dispatcher-script
33
34shared: $(PROG) dispatcher-shared
35
36static: $(PROG) dispatcher-static
37
38$(PROG): $(OBJS) usb_modeswitch.h
39	$(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS)
40
41jim/libjim.so:
42	cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS) --shared
43	$(MAKE) -C jim lib
44
45jim/libjim.a:
46	cd jim && CFLAGS="$(CFLAGS)" CC="$(CC)" ./configure $(JIM_CONFIGURE_OPTS)
47	$(MAKE) -C jim lib
48
49dispatcher-script: usb_modeswitch.tcl
50	sed 's_!/usr/bin/tclsh_!'"$(TCL)"'_' < usb_modeswitch.tcl > usb_modeswitch_dispatcher
51
52dispatcher-shared: jim/libjim.so dispatcher.c usb_modeswitch.string
53	$(CC) dispatcher.c $(LDFLAGS) -Ljim -ljim -Ijim -o usb_modeswitch_dispatcher $(CFLAGS)
54
55dispatcher-static: jim/libjim.a dispatcher.c usb_modeswitch.string
56	$(CC) dispatcher.c $(LDFLAGS) jim/libjim.a -Ijim -o usb_modeswitch_dispatcher $(CFLAGS)
57
58usb_modeswitch.string: usb_modeswitch.tcl
59	$(HOST_TCL) make_string.tcl usb_modeswitch.tcl > $@
60
61clean:
62	$(RM) usb_modeswitch
63	$(RM) usb_modeswitch_dispatcher
64	$(RM) usb_modeswitch.string
65	$(RM) jim/autosetup/jimsh0
66	$(RM) jim/autosetup/jimsh0.c
67
68distclean: clean
69	-$(MAKE) -C jim distclean
70
71ums-clean:
72	$(RM) usb_modeswitch
73	$(RM) usb_modeswitch_dispatcher
74	$(RM) usb_modeswitch.string
75
76# If the systemd folder is present, install the service for starting the dispatcher
77# If not, use the dispatcher directly from the udev rule as in previous versions
78
79install-common: $(PROG) usb_modeswitch_dispatcher
80	install -D --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
81	install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
82	install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
83	install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
84	install -D --mode=644 usb_modeswitch_dispatcher.1 $(MANDIR)/usb_modeswitch_dispatcher.1
85	install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
86	install -d $(DESTDIR)/var/lib/usb_modeswitch
87	test -d $(UPSDIR) -a -e /sbin/initctl && install --mode=644 usb-modeswitch-upstart.conf $(UPSDIR) || test 1
88	test -d $(SYSDIR) -a \( -e /usr/bin/systemctl -o -e /bin/systemctl \) && install --mode=644 usb_modeswitch@.service $(SYSDIR) || test 1
89
90install: install-script
91
92install-script: dispatcher-script install-common
93
94install-shared: dispatcher-shared install-common
95
96install-static: dispatcher-static install-common
97
98uninstall:
99	$(RM) $(SBINDIR)/usb_modeswitch
100	$(RM) $(SBINDIR)/usb_modeswitch_dispatcher
101	$(RM) $(UDEVDIR)/usb_modeswitch
102	$(RM) $(ETCDIR)/usb_modeswitch.conf
103	$(RM) $(MANDIR)/usb_modeswitch.1
104	$(RM) -R $(DESTDIR)/var/lib/usb_modeswitch
105	$(RM) $(SYSDIR)/usb_modeswitch@.service
106