Add new models to VLAN GUI and Beta legend
[tomato.git] / release / src / router / www / Makefile
blob248ed99955a40fb7db21490ae769b7e1e638aacd
2 include ../common.mak
4 all:
6 clean:
8 install:
9 rm -rf $(INSTALLDIR)/www
10 mkdir -p $(INSTALLDIR)/www
12 cp *.gif *.png *.ico *.html robots.txt $(INSTALLDIR)/www
14 # squish some of the files by trimming whitespace...
16 for F in $(wildcard *.js *.jsx); do \
17 sed '/^\/\*\s*$$/,/\*\//! { s/^\s\+//; s/\s\+$$//; /^\/\/ --\+\s*/d; /^$$/d }' < $$F > $(INSTALLDIR)/www/$$F; \
18 done
20 for F in $(wildcard *.css); do \
21 sed '/^\/\*\s*$$/,/\*\//! { s/\s\+/ /g; s/^\s\+//; s/\s\+$$//; /^$$/d }' < $$F > $(INSTALLDIR)/www/$$F; \
22 done
24 # remove "debug.js" references, convert color.css, remove comments
25 # in between REMOVE-BEGIN and REMOVE-END, and compress whitespace
27 for F in $(wildcard *.asp *.svg); do \
28 sed -e "/REMOVE-BEGIN/,/REMOVE-END/d" \
29 -e "s,<script[^>]\+debug\.js[^>]\+></script>,," \
30 -e "s,<link[^>]\+href='color\.css'>,<% css(); %>," \
31 -e "s,color\.css,<% nv('web_css'); %>\.css," \
32 -e "s,<!-- / / / -->,," \
33 -e "s,\x0d,," \
34 -e "s,^\s\+,," \
35 -e "/^$$/d" \
36 -e "/^<!--$$/,/^-->$$/! { s,^\s\+, , }" $$F > $(INSTALLDIR)/www/$$F; \
37 done
39 # Only include Linux 2.6 options if building for Linux 2.6.
40 ifneq ($(CONFIG_LINUX26),y)
41 cd $(INSTALLDIR)/www && \
42 for F in $(wildcard *.asp *.js); do \
43 sed -i $$F -e "/LINUX26-BEGIN/,/LINUX26-END/d"; \
44 done
45 # But remove some K24 options if building for Linux 2.6.
46 else
47 cd $(INSTALLDIR)/www && \
48 for F in $(wildcard *.asp *.js); do \
49 sed -i $$F -e "/LINUX24-BEGIN/,/LINUX24-END/d"; \
50 done
51 endif
53 # Only include the CIFS pages if CIFS is configured in.
54 ifneq ($(TCONFIG_CIFS),y)
55 rm -f $(INSTALLDIR)/www/admin-cifs.asp
56 sed -i $(INSTALLDIR)/www/tomato.js -e "/CIFS-BEGIN/,/CIFS-END/d"
57 sed -i $(INSTALLDIR)/www/admin-bwm.asp -e "/CIFS-BEGIN/,/CIFS-END/d"
58 sed -i $(INSTALLDIR)/www/nas-media.asp -e "/CIFS-BEGIN/,/CIFS-END/d"
59 endif
61 # Only include the JFFS pages if JFFS is configured in.
62 ifneq ($(TCONFIG_JFFS2),y)
63 rm -f $(INSTALLDIR)/www/admin-jffs2.asp
64 sed -i $(INSTALLDIR)/www/tomato.js -e "/JFFS2-BEGIN/,/JFFS2-END/d"
65 sed -i $(INSTALLDIR)/www/admin-bwm.asp -e "/JFFS2-BEGIN/,/JFFS2-END/d"
66 sed -i $(INSTALLDIR)/www/admin-upgrade.asp -e "/JFFS2-BEGIN/,/JFFS2-END/d"
67 sed -i $(INSTALLDIR)/www/nas-media.asp -e "/JFFS2-BEGIN/,/JFFS2-END/d"
68 endif
70 # Only include the Zebra options if Zebra is configured in.
71 ifneq ($(TCONFIG_ZEBRA),y)
72 sed -i $(INSTALLDIR)/www/advanced-routing.asp -e "/ZEBRA-BEGIN/,/ZEBRA-END/d"
73 endif
75 # Only include EMF options if EMF is configured in.
76 ifneq ($(TCONFIG_EMF),y)
77 sed -i $(INSTALLDIR)/www/advanced-routing.asp -e "/EMF-BEGIN/,/EMF-END/d"
78 endif
80 # Only include extra themes if USB Extras are configured in.
81 ifneq ($(TCONFIG_USB_EXTRAS),y)
82 rm -f $(INSTALLDIR)/www/usbred.css
83 rm -f $(INSTALLDIR)/www/usbblue.css
84 rm -f $(INSTALLDIR)/www/tomatousb.png
85 rm -f $(INSTALLDIR)/www/tomatousb_bg.png
86 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/THEMES-BEGIN/,/THEMES-END/d"
87 sed -i $(INSTALLDIR)/www/nas-usb.asp -e "/EXTRAS-BEGIN/,/EXTRAS-END/d"
88 endif
90 # Only include NTFS settings if NTFS support is configured in.
91 ifneq ($(TCONFIG_NTFS),y)
92 sed -i $(INSTALLDIR)/www/nas-usb.asp -e "/NTFS-BEGIN/,/NTFS-END/d"
93 endif
94 # Only include the FTP pages if FTP Server is configured in.
95 ifneq ($(TCONFIG_FTP),y)
96 rm -f $(INSTALLDIR)/www/nas-ftp.asp
97 sed -i $(INSTALLDIR)/www/tomato.js -e "/FTP-BEGIN/,/FTP-END/d"
98 endif
99 # Only include the Samba pages if Samba is configured in.
100 ifneq ($(TCONFIG_SAMBASRV),y)
101 rm -f $(INSTALLDIR)/www/nas-samba.asp
102 sed -i $(INSTALLDIR)/www/tomato.js -e "/SAMBA-BEGIN/,/SAMBA-END/d"
103 endif
104 # Only include the Media Server pages if Media Server is configured in.
105 ifneq ($(TCONFIG_MEDIA_SERVER),y)
106 rm -f $(INSTALLDIR)/www/nas-media.asp
107 sed -i $(INSTALLDIR)/www/tomato.js -e "/MEDIA-SRV-BEGIN/,/MEDIA-SRV-END/d"
108 endif
110 # Victek for RAF verion
111 # Only include Captive Portal menu option and pages when configured.
112 ifneq ($(TCONFIG_NOCAT),y)
113 rm -f $(INSTALLDIR)/www/splashd.asp
114 rm -f $(INSTALLDIR)/www/splash.html
115 rm -f $(INSTALLDIR)/www/style.css
116 sed -i $(INSTALLDIR)/www/tomato.js -e "/NOCAT-BEGIN/,/NOCAT-END/d"
117 sed -i $(INSTALLDIR)/www/about.asp -e "/NOCAT-BEGIN/,/NOCAT-END/d"
118 endif
119 # Tomato RAF feature
120 # Only include NGinX menu option and pages when configured
121 ifneq ($(TCONFIG_NGINX),y)
122 rm -f $(INSTALLDIR)/www/nginx.asp
123 rm -f $(INSTALLDIR)/www/index.html
124 rm -f $(INSTALLDIR)/www/index.php
125 sed -i $(INSTALLDIR)/www/tomato.js -e "/NGINX-BEGIN/,/NGINX-END/d"
126 sed -i $(INSTALLDIR)/www/about.asp -e "/NGINX-BEGIN/,/NGINX-END/d"
127 endif
129 # Only include IPv6 options if IPv6 is configured in.
130 ifneq ($(TCONFIG_IPV6),y)
131 cd $(INSTALLDIR)/www && \
132 for F in $(wildcard *.asp *.js *.jsx); do \
133 [ -f $(INSTALLDIR)/www/$$F ] && sed -i $$F \
134 -e "/IPV6-BEGIN/,/IPV6-END/d" \
135 || true; \
136 done
137 rm -f $(INSTALLDIR)/www/basic-ipv6.asp
138 sed -i $(INSTALLDIR)/www/tomato.js -e "/IPV6-BEGIN/,/IPV6-END/d"
139 sed -i $(INSTALLDIR)/www/about.asp -e "/IPV6-BEGIN/,/IPV6-END/d"
140 sed -i $(INSTALLDIR)/www/admin-debug.asp -e "/IPV6-BEGIN/,/IPV6-END/d"
141 sed -i $(INSTALLDIR)/www/advanced-dhcpdns.asp -e "/IPV6-BEGIN/,/IPV6-END/d"
142 endif
144 # Only include the USB and NAS pages if USB Support is configured in.
145 ifneq ($(TCONFIG_USB),y)
146 rm -f $(INSTALLDIR)/www/nas-*.*
147 sed -i $(INSTALLDIR)/www/tomato.js -e "/USB-BEGIN/,/USB-END/d"
148 sed -i $(INSTALLDIR)/www/admin-buttons.asp -e "/USB-BEGIN/,/USB-END/d"
149 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/USB-BEGIN/,/USB-END/d"
150 sed -i $(INSTALLDIR)/www/about.asp -e "/USB-BEGIN/,/USB-END/d"
151 endif
153 # Only include the USB and NAS pages if REMOVE_USBAPP is NOT configured in.
154 ifeq ($(TCONFIG_REMOVE_USBAPP),y)
155 rm -f $(INSTALLDIR)/www/nas-*.*
156 sed -i $(INSTALLDIR)/www/tomato.js -e "/USB-BEGIN/,/USB-END/d"
157 sed -i $(INSTALLDIR)/www/admin-buttons.asp -e "/USB-BEGIN/,/USB-END/d"
158 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/USB-BEGIN/,/USB-END/d"
159 endif
161 # Only include CTF option if CTF module exists
162 ## test -d $(SRCBASE)/ctf/linux ||
163 sed -i $(INSTALLDIR)/www/advanced-misc.asp -e "/CTF-BEGIN/,/CTF-END/d"
165 # Only include VLAN-GUI pages if VLAN-GUI is configured in.
166 ifneq ($(TCONFIG_VLAN),y)
167 rm -f $(INSTALLDIR)/www/advanced-vlan.asp
168 rm -f $(INSTALLDIR)/www/advanced-access.asp
169 rm -f $(INSTALLDIR)/www/advanced-wlanvifs.asp
170 sed -i $(INSTALLDIR)/www/about.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
171 sed -i $(INSTALLDIR)/www/advanced-firewall.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
172 sed -i $(INSTALLDIR)/www/advanced-routing.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
173 sed -i $(INSTALLDIR)/www/basic-network.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
174 sed -i $(INSTALLDIR)/www/forward-upnp.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
175 sed -i $(INSTALLDIR)/www/status-devices.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
176 sed -i $(INSTALLDIR)/www/status-overview.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
177 sed -i $(INSTALLDIR)/www/tomato.js -e "/ VLAN-BEGIN/,/ VLAN-END/d"
178 ifeq ($(TCONFIG_NOCAT),y)
179 sed -i $(INSTALLDIR)/www/splashd.asp -e "/ VLAN-BEGIN/,/ VLAN-END/d"
180 endif
181 else
182 sed -i $(INSTALLDIR)/www/advanced-routing.asp -e "/ NOVLAN-BEGIN/,/ NOVLAN-END/d"
183 sed -i $(INSTALLDIR)/www/basic-network.asp -e "/ NOVLAN-BEGIN/,/ NOVLAN-END/d"
184 sed -i $(INSTALLDIR)/www/status-devices.asp -e "/ NOVLAN-BEGIN/,/ NOVLAN-END/d"
185 sed -i $(INSTALLDIR)/www/status-overview.asp -e "/ NOVLAN-BEGIN/,/ NOVLAN-END/d"
186 endif
188 ifeq ($(TOMATO_EXPERIMENTAL),0)
189 cd $(INSTALLDIR)/www && \
190 for F in $(wildcard *.asp); do \
191 sed -e "s,<div class='title'>Tomato</div>,<div class='title'>Tomato RAF</div>," $$F > $$F.tmp; \
192 mv $$F.tmp $$F; \
193 done
194 endif
196 cd $(INSTALLDIR)/www && \
197 for F in $(wildcard *.asp); do \
198 sed -e "s,<div class='version'>Version <% version(); %></div>,<div class='version'>Version <% version(); %>.9013 series (Beta)</div>," $$F > $$F.tmp; \
199 mv $$F.tmp $$F; \
200 done
202 # Only include the vpn pages if OpenVPN is compiled in
203 # Remove AES ciphers from the GUI if openssl doesn't have an AES directory
204 ifeq ($(TCONFIG_OPENVPN),y)
205 test -d ../openssl/crypto/aes || sed -i $(INSTALLDIR)/www/vpn.js -e "/AES-BEGIN/,/AES-END/d"
206 sed -i $(INSTALLDIR)/www/tomato.js -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
207 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
208 else
209 rm -f $(INSTALLDIR)/www/vpn-{client,server}.asp $(INSTALLDIR)/www/vpn.js
210 sed -i $(INSTALLDIR)/www/tomato.js -e "/ OPENVPN-BEGIN/,/ OPENVPN-END/d"
211 sed -i $(INSTALLDIR)/www/about.asp -e "/ OPENVPN-BEGIN/,/ OPENVPN-END/d"
212 endif
214 ifeq ($(TCONFIG_USERPPTP),y)
215 sed -i $(INSTALLDIR)/www/tomato.js -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
216 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
217 else
218 rm -f $(INSTALLDIR)/www/vpn-pptp.asp
219 sed -i $(INSTALLDIR)/www/tomato.js -e "/USERPPTP-BEGIN/,/USERPPTP-END/d"
220 sed -i $(INSTALLDIR)/www/about.asp -e "/USERPPTP-BEGIN/,/USERPPTP-END/d"
221 sed -i $(INSTALLDIR)/www/about.asp -e "/JYAVENARD-BEGIN/,/JYAVENARD-END/d"
222 endif
224 # Only include the PPTPD pages if PPTPD is compiled in
225 ifeq ($(TCONFIG_PPTPD),y)
226 sed -i $(INSTALLDIR)/www/tomato.js -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
227 sed -i $(INSTALLDIR)/www/admin-access.asp -e "/ VPN-BEGIN/d" -e "/ VPN-END/d"
228 else
229 rm -f $(INSTALLDIR)/www/vpn-pptp-server.asp
230 rm -f $(INSTALLDIR)/www/vpn-pptp-online.asp
231 sed -i $(INSTALLDIR)/www/tomato.js -e "/ PPTPD-BEGIN/,/ PPTPD-END/d"
232 sed -i $(INSTALLDIR)/www/about.asp -e "/ PPTPD-BEGIN/,/ PPTPD-END/d"
233 endif
235 # Only include the snmp pages if SNMP is compiled in
236 ifneq ($(TCONFIG_SNMP),y)
237 rm -f $(INSTALLDIR)/www/admin-snmp.asp
238 sed -i $(INSTALLDIR)/www/tomato.js -e "/SNMP-BEGIN/,/SNMP-END/d"
239 sed -i $(INSTALLDIR)/www/about.asp -e "/SNMP-BEGIN/,/SNMP-END/d"
240 endif
242 # Only include the dnscrypt option if is compiled in
243 ifneq ($(TCONFIG_DNSCRYPT),y)
244 sed -i $(INSTALLDIR)/www/basic-network.asp -e "/DNSCRYPT-BEGIN/,/DNSCRYPT-END/d"
245 sed -i $(INSTALLDIR)/www/about.asp -e "/DNSCRYPT-BEGIN/,/DNSCRYPT-END/d"
246 endif
248 # clean up
249 cd $(INSTALLDIR)/www && \
250 for F in $(wildcard *.asp *.js *.jsx *.html); do \
251 [ -f $(INSTALLDIR)/www/$$F ] && sed -i $$F \
252 -e "/LINUX26-BEGIN/d" -e "/LINUX26-END/d" \
253 -e "/LINUX24-BEGIN/d" -e "/LINUX24-END/d" \
254 -e "/USB-BEGIN/d" -e "/USB-END/d" \
255 -e "/EXTRAS-BEGIN/d" -e "/EXTRAS-END/d" \
256 -e "/NTFS-BEGIN/d" -e "/NTFS-END/d" \
257 -e "/SAMBA-BEGIN/d" -e "/SAMBA-END/d" \
258 -e "/FTP-BEGIN/d" -e "/FTP-END/d" \
259 -e "/MEDIA-SRV-BEGIN/d" -e "/MEDIA-SRV-END/d" \
260 -e "/THEMES-BEGIN/d" -e "/THEMES-END/d" \
261 -e "/JFFS2-BEGIN/d" -e "/JFFS2-END/d" \
262 -e "/CIFS-BEGIN/d" -e "/CIFS-END/d" \
263 -e "/ZEBRA-BEGIN/d" -e "/ZEBRA-END/d" \
264 -e "/EMF-BEGIN/d" -e "/EMF-END/d" \
265 -e "/ OPENVPN-BEGIN/d" -e "/ OPENVPN-END/d" \
266 -e "/AES-BEGIN/d" -e "/AES-END/d" \
267 -e "/ PPTPD-BEGIN/d" -e "/ PPTPD-END/d" \
268 -e "/ VPN-BEGIN/,/ VPN-END/d" \
269 -e "/IPV6-BEGIN/d" -e "/IPV6-END/d" \
270 -e "/CTF-BEGIN/d" -e "/CTF-END/d" \
271 -e "/NOCAT-BEGIN/d" -e "/NOCAT_END/d"\
272 -e "/SNMP-BEGIN/d" -e "/SNMP_END/d"\
273 -e "/ VLAN-BEGIN/d" -e "/ VLAN-END/d" \
274 -e "/ NOVLAN-BEGIN/d" -e "/ NOVLAN-END/d" \
275 -e "/DNSCRYPT-BEGIN/d" -e "/DNSCRYPT-END/d"\
276 || true; \
277 done
279 # make sure old and debugging crap is gone
280 @rm -f $(INSTALLDIR)/www/debug.js
281 @rm -f $(INSTALLDIR)/www/*-x.*
282 @rm -f $(INSTALLDIR)/www/*-old.*
283 @rm -f $(INSTALLDIR)/www/color.css
285 chmod 0644 $(INSTALLDIR)/www/*
287 # remove C-style comments from java files. All "control" comments have been processed by now.
288 for F in $(wildcard *.js *.jsx); do \
289 [ -f $(INSTALLDIR)/www/$$F ] && $(TOP)/www/remcoms2.sh $(INSTALLDIR)/www/$$F c; \
290 done