TomatoAnon project
[tomato.git] / release / src / router / rc / Makefile
blobefcad0590e23438d7ff1ec74c0a15691a050b00d
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 += new_qoslimit.o arpbind.o
18 OBJS += tomatoanon.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
37 ifeq ($(TCONFIG_PPTPD),y)
38 OBJS += pptpd.o
39 OBJS += pptp_client.o
40 endif
42 ifeq ($(TCONFIG_NOCAT),y)
43 OBJS += nocat.o
44 endif
46 ifeq ($(TOMATO_SL),1)
47 #OBJS += usb.o
48 OBJS += samba.o
49 endif
51 ifeq ($(TCONFIG_BT),y)
52 OBJS += transmission.o
53 endif
55 ifeq ($(TCONFIG_NFS),y)
56 OBJS += nfs.o
57 endif
59 ifeq ($(TCONFIG_SNMP),y)
60 OBJS += snmp.o
61 endif
63 ifeq ($(TCONFIG_SDHC),y)
64 OBJS += mmc.o
65 endif
67 ifeq ($(TCONFIG_UPS),y)
68 OBJS += ups.o
69 endif
71 ifeq ($(TCONFIG_TOR),y)
72 OBJS += tor.o
73 endif
75 all: rc
77 rc: $(OBJS)
78 @echo " [rc] CC $@"
79 @$(CC) -o $@ $^ $(LDFLAGS)
81 $(SIZECHECK)
82 $(CPTMP)
84 install: all
85 @echo "[rc] Installing..."
86 @install -D rc $(INSTALLDIR)/sbin/rc
87 @$(STRIP) $(INSTALLDIR)/sbin/rc
88 @chmod 0500 $(INSTALLDIR)/sbin/rc
90 @cd $(INSTALLDIR)/sbin && ln -sf rc init
91 @cd $(INSTALLDIR)/sbin && ln -sf rc console
92 @cd $(INSTALLDIR)/sbin && ln -sf rc hotplug
93 @cd $(INSTALLDIR)/sbin && ln -sf rc service
94 @cd $(INSTALLDIR)/sbin && ln -sf rc buttons
95 @cd $(INSTALLDIR)/sbin && ln -sf rc rcheck
96 @cd $(INSTALLDIR)/sbin && ln -sf rc radio
97 @cd $(INSTALLDIR)/sbin && ln -sf rc led
98 @cd $(INSTALLDIR)/sbin && ln -sf rc reboot
99 @cd $(INSTALLDIR)/sbin && ln -sf rc halt
100 @cd $(INSTALLDIR)/sbin && ln -sf rc redial
101 @cd $(INSTALLDIR)/sbin && ln -sf rc gpio
102 @cd $(INSTALLDIR)/sbin && ln -sf rc sched
104 @cd $(INSTALLDIR)/sbin && ln -sf rc disconnected_pppoe
105 @cd $(INSTALLDIR)/sbin && ln -sf rc listen
106 @cd $(INSTALLDIR)/sbin && ln -sf rc ppp_event
108 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-write
109 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-erase
110 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-unlock
112 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-event
113 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-release
114 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-renew
116 @cd $(INSTALLDIR)/sbin && ln -sf rc wldist
118 ifeq ($(TCONFIG_IPV6),y)
119 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcp6c-state
120 endif
122 ifeq ($(TCONFIG_DDNS),y)
123 @cd $(INSTALLDIR)/sbin && ln -sf rc ddns-update
124 endif
126 # ifeq ($(TCONFIG_HEARTBEAT),y)
127 # @cd $(INSTALLDIR)/sbin && ln -sf rc hb_connect
128 # @cd $(INSTALLDIR)/sbin && ln -sf rc hb_disconnect
129 # @cd $(INSTALLDIR)/sbin && ln -sf rc hb_idle
130 # endif
132 ifeq ($(TCONFIG_CIFS),y)
133 @cd $(INSTALLDIR)/sbin && ln -sf rc mount-cifs
134 endif
136 ifeq ($(TOMATO_SL),1)
137 @cd $(INSTALLDIR)/sbin && ln -sf rc usbevent
138 @cd $(INSTALLDIR)/sbin && ln -sf rc usbrescan
139 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskadd
140 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskremove
141 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskerror
142 @cd $(INSTALLDIR)/sbin && ln -sf rc umountx
143 endif
145 ifeq ($(TCONFIG_OPENVPN),y)
146 @mkdir -p $(INSTALLDIR)/rom/openvpn
147 @cp openvpn-updown.sh $(INSTALLDIR)/rom/openvpn/updown.sh
148 @chmod 0755 $(INSTALLDIR)/rom/openvpn/updown.sh
149 endif
151 clean:
152 rm -f rc *.o .*.depend
154 size: rc
155 mipsel-uclibc-nm --print-size --size-sort rc
157 %.o: %.c .%.depend
158 @echo " [rc] CC $@"
159 @$(CC) $(CFLAGS) -c $<
161 .%.depend: %.c
162 @$(CC) $(CFLAGS) -M $< > $@
164 -include $(OBJS:%.o=.%.depend)
168 pswatch: pswatch.c
169 $(CC) -o $@ $^
170 $(STRIP) $@
171 $(CPTMP)