1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
PROG = usb_modeswitch
VERS = 1.2.3
CC = gcc
CFLAGS += -Wall
LIBS = -l usb
RM = /bin/rm -f
OBJS = usb_modeswitch.c
PREFIX = $(DESTDIR)/usr
ETCDIR = $(DESTDIR)/etc
UDEVDIR = $(DESTDIR)/lib/udev
SBINDIR = $(PREFIX)/sbin
MANDIR = $(PREFIX)/share/man/man1
VPATH = jimtcl
.PHONY: clean install uninstall
all: $(PROG)
shared: $(PROG) dispatcher-dynamic
static: $(PROG) dispatcher-static
$(PROG): $(OBJS)
$(CC) -o $(PROG) $(OBJS) $(CFLAGS) $(LIBS) $(LDFLAGS)
dispatcher-static: dispatcher.c usb_modeswitch.tcl
./make_static_dispatcher.sh
dispatcher-dynamic: usb_modeswitch_dispatcher
usb_modeswitch_dispatcher: dispatcher.c usb_modeswitch.string
$(CC) $(CFLAGS) dispatcher.c -ljim -o $@
usb_modeswitch.string: usb_modeswitch.tcl
jimsh make_string.tcl usb_modeswitch.tcl > $@
clean:
$(RM) usb_modeswitch
$(RM) usb_modeswitch_dispatcher
$(RM) usb_modeswitch.string
distclean:
$(RM) usb_modeswitch
$(RM) usb_modeswitch_dispatcher
$(RM) usb_modeswitch.string
- cd jim && $(MAKE) distclean
install-common:
install -D -s --mode=755 usb_modeswitch $(SBINDIR)/usb_modeswitch
install -D --mode=755 usb_modeswitch.sh $(UDEVDIR)/usb_modeswitch
install -D --mode=644 usb_modeswitch.conf $(ETCDIR)/usb_modeswitch.conf
install -D --mode=644 usb_modeswitch.1 $(MANDIR)/usb_modeswitch.1
install -d $(DESTDIR)/var/lib/usb_modeswitch
install-script:
@SHELL=`which tclsh 2>/dev/null`; \
if [ -z $$SHELL ]; then \
SHELL="`which jimsh 2>/dev/null`"; \
if [ -z $$SHELL ]; then \
echo "Warning: no Tcl interpreter found!"; \
SHELL="/usr/bin/tclsh"; \
fi \
fi ; \
sed 's_!/usr/bin/tclsh_!'"$$SHELL"'_' <usb_modeswitch.tcl >usb_modeswitch_dispatcher
install -D --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
install-binary:
install -D -s --mode=755 usb_modeswitch_dispatcher $(SBINDIR)/usb_modeswitch_dispatcher
install: all install-common install-script
install-shared: shared install-common install-binary
install-static: static install-common install-binary
uninstall:
$(RM) $(SBINDIR)/usb_modeswitch
$(RM) $(SBINDIR)/usb_modeswitch_dispatcher
$(RM) $(UDEVDIR)/usb_modeswitch
$(RM) $(ETCDIR)/usb_modeswitch.conf
$(RM) $(MANDIR)/usb_modeswitch.1
$(RM) -R $(DESTDIR)/var/lib/usb_modeswitch
|