usbmodeswitch: Updated to v.1.2.6 from shibby's branch.
[tomato.git] / release / src / router / rc / Makefile
blob97ca669d56df118efd4edbe11082b5d73759e432
1 include ../common.mak
3 CFLAGS = -Wall -Os $(EXTRACFLAGS)
4 CFLAGS += -I. -I$(TOP)/shared -I$(SRCBASE)/include -idirafter$(LINUXDIR)/include
5 CFLAGS += -ffunction-sections -fdata-sections
7 LDFLAGS = -L$(TOP)/nvram -lnvram -L$(TOP)/shared -lshared -lcrypt
8 LDFLAGS += -ffunction-sections -fdata-sections -Wl,--gc-sections
9 ifeq ($(STATIC),1)
10 LDFLAGS += -static
11 endif
13 OBJS := rc.o init.o interface.o network.o wan.o services.o dhcp.o
14 OBJS += firewall.o ppp.o telssh.o wnas.o
15 OBJS += listen.o redial.o led.o qos.o forward.o misc.o mtd.o
16 OBJS += buttons.o restrict.o gpio.o sched.o
17 OBJS += arpbind.o
18 OBJS += qoslimit.o
19 # heartbeat.o
21 ifeq ($(TCONFIG_USB),y)
22 OBJS += usb.o
23 endif
24 ifeq ($(TCONFIG_DDNS),y)
25 OBJS += ddns.o
26 endif
27 ifeq ($(TCONFIG_CIFS),y)
28 OBJS += cifs.o
29 endif
30 ifeq ($(TCONFIG_JFFS2),y)
31 OBJS += jffs2.o
32 endif
33 ifeq ($(TCONFIG_OPENVPN),y)
34 OBJS += vpn.o
35 endif
36 ifeq ($(TCONFIG_NOCAT),y)
37 OBJS += nocat.o
38 endif
39 ifeq ($(TCONFIG_PPTPD),y)
40 OBJS += pptpd.o
41 endif
42 ifeq ($(TCONFIG_NGINX),y)
43 OBJS += nginx.o
44 endif
46 ifeq ($(TOMATO_SL),1)
47 #OBJS += usb.o
48 OBJS += samba.o
49 endif
51 ifeq ($(TCONFIG_SNMP),y)
52 OBJS += snmp.o
53 endif
55 ifeq ($(TCONFIG_USERPPTP),y)
56 OBJS += pptp_client.o
57 endif
59 all: rc
61 rc: $(OBJS)
62 @echo " [rc] CC $@"
63 @$(CC) -o $@ $^ $(LDFLAGS)
65 $(SIZECHECK)
66 $(CPTMP)
68 install: all
69 @echo "[rc] Installing..."
70 @install -D rc $(INSTALLDIR)/sbin/rc
71 @$(STRIP) $(INSTALLDIR)/sbin/rc
72 @chmod 0500 $(INSTALLDIR)/sbin/rc
74 @cd $(INSTALLDIR)/sbin && ln -sf rc init
75 @cd $(INSTALLDIR)/sbin && ln -sf rc console
76 @cd $(INSTALLDIR)/sbin && ln -sf rc hotplug
77 @cd $(INSTALLDIR)/sbin && ln -sf rc service
78 @cd $(INSTALLDIR)/sbin && ln -sf rc buttons
79 @cd $(INSTALLDIR)/sbin && ln -sf rc rcheck
80 @cd $(INSTALLDIR)/sbin && ln -sf rc radio
81 @cd $(INSTALLDIR)/sbin && ln -sf rc led
82 @cd $(INSTALLDIR)/sbin && ln -sf rc reboot
83 @cd $(INSTALLDIR)/sbin && ln -sf rc halt
84 @cd $(INSTALLDIR)/sbin && ln -sf rc redial
85 @cd $(INSTALLDIR)/sbin && ln -sf rc gpio
86 @cd $(INSTALLDIR)/sbin && ln -sf rc sched
88 @cd $(INSTALLDIR)/sbin && ln -sf rc disconnected_pppoe
89 @cd $(INSTALLDIR)/sbin && ln -sf rc listen
90 @cd $(INSTALLDIR)/sbin && ln -sf rc ppp_event
92 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-write
93 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-erase
94 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-unlock
96 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-event
97 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-release
98 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-renew
100 @cd $(INSTALLDIR)/sbin && ln -sf rc wldist
102 ifeq ($(TCONFIG_IPV6),y)
103 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcp6c-state
104 endif
106 ifeq ($(TCONFIG_DDNS),y)
107 @cd $(INSTALLDIR)/sbin && ln -sf rc ddns-update
108 endif
110 ifeq ($(TCONFIG_CIFS),y)
111 @cd $(INSTALLDIR)/sbin && ln -sf rc mount-cifs
112 endif
114 ifeq ($(TOMATO_SL),1)
115 @cd $(INSTALLDIR)/sbin && ln -sf rc usbevent
116 @cd $(INSTALLDIR)/sbin && ln -sf rc usbrescan
117 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskadd
118 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskremove
119 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskerror
120 @cd $(INSTALLDIR)/sbin && ln -sf rc umountx
121 endif
123 ifeq ($(TCONFIG_OPENVPN),y)
124 @mkdir -p $(INSTALLDIR)/rom/openvpn
125 @cp openvpn-updown.sh $(INSTALLDIR)/rom/openvpn/updown.sh
126 @chmod 0755 $(INSTALLDIR)/rom/openvpn/updown.sh
127 endif
129 clean:
130 rm -f rc *.o .*.depend
132 size: rc
133 mipsel-uclibc-nm --print-size --size-sort rc
135 %.o: %.c .%.depend
136 @echo " [rc] CC $@"
137 @$(CC) $(CFLAGS) -c $<
139 .%.depend: %.c
140 @$(CC) $(CFLAGS) -M $< > $@
142 -include $(OBJS:%.o=.%.depend)
146 pswatch: pswatch.c
147 $(CC) -o $@ $^
148 $(STRIP) $@
149 $(CPTMP)