tinc: integration and gui
[tomato.git] / release / src / router / rc / Makefile
blob7ff34a06a598536b9e9a0ac351c9aea31b2ab315
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
20 ifeq ($(TCONFIG_USB),y)
21 OBJS += usb.o
22 endif
23 ifeq ($(TCONFIG_DDNS),y)
24 OBJS += ddns.o
25 endif
26 ifeq ($(TCONFIG_CIFS),y)
27 OBJS += cifs.o
28 endif
29 ifeq ($(TCONFIG_JFFS2),y)
30 OBJS += jffs2.o
31 endif
32 ifeq ($(TCONFIG_OPENVPN),y)
33 OBJS += vpn.o
34 endif
35 ifeq ($(TCONFIG_TINC),y)
36 OBJS += tinc.o
37 endif
38 ifeq ($(TCONFIG_PPTPD),y)
39 OBJS += pptpd.o
40 OBJS += pptp_client.o
41 endif
43 ifeq ($(TCONFIG_NOCAT),y)
44 OBJS += nocat.o
45 endif
47 ifeq ($(TCONFIG_NGINX),y)
48 OBJS += nginx.o
49 endif
51 ifeq ($(TOMATO_SL),1)
52 #OBJS += usb.o
53 OBJS += samba.o
54 endif
56 ifeq ($(TCONFIG_BT),y)
57 OBJS += transmission.o
58 endif
60 ifeq ($(TCONFIG_NFS),y)
61 OBJS += nfs.o
62 endif
64 ifeq ($(TCONFIG_SNMP),y)
65 OBJS += snmp.o
66 endif
68 ifeq ($(TCONFIG_SDHC),y)
69 OBJS += mmc.o
70 endif
72 ifeq ($(TCONFIG_UPS),y)
73 OBJS += ups.o
74 endif
76 ifeq ($(TCONFIG_TOR),y)
77 OBJS += tor.o
78 endif
80 all: rc
82 rc: $(OBJS)
83 @echo " [rc] CC $@"
84 @$(CC) -o $@ $^ $(LDFLAGS)
86 $(SIZECHECK)
87 $(CPTMP)
89 install: all
90 @echo "[rc] Installing..."
91 @install -D rc $(INSTALLDIR)/sbin/rc
92 @$(STRIP) $(INSTALLDIR)/sbin/rc
93 @chmod 0500 $(INSTALLDIR)/sbin/rc
95 @cd $(INSTALLDIR)/sbin && ln -sf rc init
96 @cd $(INSTALLDIR)/sbin && ln -sf rc console
97 @cd $(INSTALLDIR)/sbin && ln -sf rc hotplug
98 @cd $(INSTALLDIR)/sbin && ln -sf rc service
99 @cd $(INSTALLDIR)/sbin && ln -sf rc buttons
100 @cd $(INSTALLDIR)/sbin && ln -sf rc rcheck
101 @cd $(INSTALLDIR)/sbin && ln -sf rc radio
102 @cd $(INSTALLDIR)/sbin && ln -sf rc led
103 @cd $(INSTALLDIR)/sbin && ln -sf rc reboot
104 @cd $(INSTALLDIR)/sbin && ln -sf rc halt
105 @cd $(INSTALLDIR)/sbin && ln -sf rc redial
106 @cd $(INSTALLDIR)/sbin && ln -sf rc gpio
107 @cd $(INSTALLDIR)/sbin && ln -sf rc sched
109 @cd $(INSTALLDIR)/sbin && ln -sf rc disconnected_pppoe
110 @cd $(INSTALLDIR)/sbin && ln -sf rc listen
111 @cd $(INSTALLDIR)/sbin && ln -sf rc ppp_event
113 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-write
114 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-erase
115 @cd $(INSTALLDIR)/sbin && ln -sf rc mtd-unlock
117 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-event
118 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-release
119 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcpc-renew
121 @cd $(INSTALLDIR)/sbin && ln -sf rc wldist
123 ifeq ($(TCONFIG_IPV6),y)
124 @cd $(INSTALLDIR)/sbin && ln -sf rc dhcp6c-state
125 endif
127 ifeq ($(TCONFIG_DDNS),y)
128 @cd $(INSTALLDIR)/sbin && ln -sf rc ddns-update
129 endif
131 ifeq ($(TCONFIG_CIFS),y)
132 @cd $(INSTALLDIR)/sbin && ln -sf rc mount-cifs
133 endif
135 ifeq ($(TOMATO_SL),1)
136 @cd $(INSTALLDIR)/sbin && ln -sf rc usbevent
137 @cd $(INSTALLDIR)/sbin && ln -sf rc usbrescan
138 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskadd
139 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskremove
140 @cd $(INSTALLDIR)/sbin && ln -sf rc hotdiskerror
141 @cd $(INSTALLDIR)/sbin && ln -sf rc umountx
142 endif
144 ifeq ($(TCONFIG_OPENVPN),y)
145 @mkdir -p $(INSTALLDIR)/rom/openvpn
146 @cp openvpn-updown.sh $(INSTALLDIR)/rom/openvpn/updown.sh
147 @chmod 0755 $(INSTALLDIR)/rom/openvpn/updown.sh
148 endif
150 clean:
151 rm -f rc *.o .*.depend
153 size: rc
154 mipsel-uclibc-nm --print-size --size-sort rc
156 %.o: %.c .%.depend
157 @echo " [rc] CC $@"
158 @$(CC) $(CFLAGS) -c $<
160 .%.depend: %.c
161 @$(CC) $(CFLAGS) -M $< > $@
163 -include $(OBJS:%.o=.%.depend)
167 pswatch: pswatch.c
168 $(CC) -o $@ $^
169 $(STRIP) $@
170 $(CPTMP)