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
14 HOST_TCL
:= $(shell cd jim
&& .
/autosetup
/find-tclsh
)
15 ifeq (,$(findstring jimsh0
,$(HOST_TCL
)))
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
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
)
40 cd jim
&& CFLAGS
="$(CFLAGS)" CC
="$(CC)" .
/configure
$(JIM_CONFIGURE_OPTS
) --shared
44 cd jim
&& CFLAGS
="$(CFLAGS)" CC
="$(CC)" .
/configure
$(JIM_CONFIGURE_OPTS
)
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
> $@
61 $(RM
) usb_modeswitch_dispatcher
62 $(RM
) usb_modeswitch.string
63 $(RM
) jim
/autosetup
/jimsh0
64 $(RM
) jim
/autosetup
/jimsh0.c
67 -$(MAKE
) -C jim
distclean
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
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