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; \
20 for F in
$(wildcard *.css
); do \
21 sed
'/^\/\*\s*$$/,/\*\//! { s/\s\+/ /g; s/^\s\+//; s/\s\+$$//; /^$$/d }' < $$F > $(INSTALLDIR
)/www
/$$F; \
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,<!-- / / / -->,," \
36 -e
"/^<!--$$/,/^-->$$/! { s,^\s\+, , }" $$F > $(INSTALLDIR
)/www
/$$F; \
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"; \
47 # Only include the CIFS pages if CIFS is configured in.
48 ifneq ($(TCONFIG_CIFS
),y
)
49 rm -f
$(INSTALLDIR
)/www
/admin-cifs.asp
50 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/CIFS-BEGIN/,/CIFS-END/d"
51 sed
-i
$(INSTALLDIR
)/www
/admin-bwm.asp
-e
"/CIFS-BEGIN/,/CIFS-END/d"
52 sed
-i
$(INSTALLDIR
)/www
/nas-media.asp
-e
"/CIFS-BEGIN/,/CIFS-END/d"
55 # Only include the JFFS pages if JFFS is configured in.
56 ifneq ($(TCONFIG_JFFS2
),y
)
57 rm -f
$(INSTALLDIR
)/www
/admin-jffs2.asp
58 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/JFFS2-BEGIN/,/JFFS2-END/d"
59 sed
-i
$(INSTALLDIR
)/www
/admin-bwm.asp
-e
"/JFFS2-BEGIN/,/JFFS2-END/d"
60 sed
-i
$(INSTALLDIR
)/www
/admin-upgrade.asp
-e
"/JFFS2-BEGIN/,/JFFS2-END/d"
61 sed
-i
$(INSTALLDIR
)/www
/nas-media.asp
-e
"/JFFS2-BEGIN/,/JFFS2-END/d"
64 # Only include the Zebra options if Zebra is configured in.
65 ifneq ($(TCONFIG_ZEBRA
),y
)
66 sed
-i
$(INSTALLDIR
)/www
/advanced-routing.asp
-e
"/ZEBRA-BEGIN/,/ZEBRA-END/d"
69 # Only include EMF options if EMF is configured in.
70 ifneq ($(TCONFIG_EMF
),y
)
71 sed
-i
$(INSTALLDIR
)/www
/advanced-routing.asp
-e
"/EMF-BEGIN/,/EMF-END/d"
74 # Only include extra themes if USB Extras are configured in.
75 ifneq ($(TCONFIG_USB_EXTRAS
),y
)
76 rm -f
$(INSTALLDIR
)/www
/usbred.css
77 rm -f
$(INSTALLDIR
)/www
/usbblue.css
78 rm -f
$(INSTALLDIR
)/www
/tomatousb.png
79 rm -f
$(INSTALLDIR
)/www
/tomatousb_bg.png
80 sed
-i
$(INSTALLDIR
)/www
/admin-access.asp
-e
"/THEMES-BEGIN/,/THEMES-END/d"
83 # Only include NTFS settings if NTFS support is configured in.
84 ifneq ($(TCONFIG_NTFS
),y
)
85 sed
-i
$(INSTALLDIR
)/www
/nas-usb.asp
-e
"/NTFS-BEGIN/,/NTFS-END/d"
87 # Only include the FTP pages if FTP Server is configured in.
88 ifneq ($(TCONFIG_FTP
),y
)
89 rm -f
$(INSTALLDIR
)/www
/nas-ftp.asp
90 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/FTP-BEGIN/,/FTP-END/d"
92 # Only include the Samba pages if Samba is configured in.
93 ifneq ($(TCONFIG_SAMBASRV
),y
)
94 rm -f
$(INSTALLDIR
)/www
/nas-samba.asp
95 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/SAMBA-BEGIN/,/SAMBA-END/d"
97 # Only include the Media Server pages if Media Server is configured in.
98 ifneq ($(TCONFIG_MEDIA_SERVER
),y
)
99 rm -f
$(INSTALLDIR
)/www
/nas-media.asp
100 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/MEDIA-SRV-BEGIN/,/MEDIA-SRV-END/d"
103 # Victek for RAF verion
104 # Only include Captive Portal menu option and pages when configured.
105 ifneq ($(TCONFIG_NOCAT
),y
)
106 rm -f
$(INSTALLDIR
)/www
/new-splashd.asp
107 rm -f
$(INSTALLDIR
)/www
/splash.html
108 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/NOCAT-BEGIN/,/NOCAT-END/d"
111 # Only include IPv6 options if IPv6 is configured in.
112 ifneq ($(TCONFIG_IPV6
),y
)
113 cd
$(INSTALLDIR
)/www
&& \
114 for F in
$(wildcard *.asp
*.js
*.jsx
); do \
115 [ -f
$(INSTALLDIR
)/www
/$$F ] && sed
-i
$$F \
116 -e
"/IPV6-BEGIN/,/IPV6-END/d" \
119 rm -f
$(INSTALLDIR
)/www
/basic-ipv6.asp
122 # Only include the USB and NAS pages if USB Support is configured in.
123 ifneq ($(TCONFIG_USB
),y
)
124 rm -f
$(INSTALLDIR
)/www
/nas-
*.
*
125 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/USB-BEGIN/,/USB-END/d"
126 sed
-i
$(INSTALLDIR
)/www
/admin-buttons.asp
-e
"/USB-BEGIN/,/USB-END/d"
127 sed
-i
$(INSTALLDIR
)/www
/admin-access.asp
-e
"/USB-BEGIN/,/USB-END/d"
128 sed
-i
$(INSTALLDIR
)/www
/about.asp
-e
"/USB-BEGIN/,/USB-END/d"
131 # Only include CTF option if CTF module exists
132 ## test -d $(SRCBASE)/ctf/linux ||
133 sed
-i
$(INSTALLDIR
)/www
/advanced-misc.asp
-e
"/CTF-BEGIN/,/CTF-END/d"
136 ifeq ($(TOMATO_EXPERIMENTAL
),1)
137 cd
$(INSTALLDIR
)/www
&& \
138 for F in
$(wildcard *.asp
); do \
139 sed
-e
"s,<div class='title'>Tomato</div>,<div class='title'>Tomato <small><i>(beta)</i></small></div>," $$F > $$F.tmp
; \
146 # Only include the vpn pages if OpenVPN is compiled in
147 # Remove AES ciphers from the GUI if openssl doesn't have an AES directory
148 ifeq ($(TCONFIG_OPENVPN
),y
)
149 test -d ..
/openssl
/crypto
/aes || sed
-i
$(INSTALLDIR
)/www
/vpn.js
-e
"/AES-BEGIN/,/AES-END/d"
151 rm -f
$(INSTALLDIR
)/www
/vpn
*
152 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/VPN-BEGIN/,/VPN-END/d"
153 sed
-i
$(INSTALLDIR
)/www
/about.asp
-e
"/VPN-BEGIN/,/VPN-END/d"
154 sed
-i
$(INSTALLDIR
)/www
/admin-access.asp
-e
"/VPN-BEGIN/,/VPN-END/d"
157 # Only include the snmp pages if SNMP is compiled in
158 ifneq ($(TCONFIG_SNMP
),y
)
159 rm -f
$(INSTALLDIR
)/www
/admin-snmp.asp
160 sed
-i
$(INSTALLDIR
)/www
/tomato.js
-e
"/SNMP-BEGIN/,/SNMP-END/d"
161 sed
-i
$(INSTALLDIR
)/www
/about.asp
-e
"/SNMP-BEGIN/,/SNMP-END/d"
166 cd
$(INSTALLDIR
)/www
&& \
167 for F in
$(wildcard *.asp
*.js
*.jsx
*.html
); do \
168 [ -f
$(INSTALLDIR
)/www
/$$F ] && sed
-i
$$F \
169 -e
"/LINUX26-BEGIN/d" -e
"/LINUX26-END/d" \
170 -e
"/USB-BEGIN/d" -e
"/USB-END/d" \
171 -e
"/NTFS-BEGIN/d" -e
"/NTFS-END/d" \
172 -e
"/SAMBA-BEGIN/d" -e
"/SAMBA-END/d" \
173 -e
"/FTP-BEGIN/d" -e
"/FTP-END/d" \
174 -e
"/MEDIA-SRV-BEGIN/d" -e
"/MEDIA-SRV-END/d" \
175 -e
"/THEMES-BEGIN/d" -e
"/THEMES-END/d" \
176 -e
"/JFFS2-BEGIN/d" -e
"/JFFS2-END/d" \
177 -e
"/CIFS-BEGIN/d" -e
"/CIFS-END/d" \
178 -e
"/ZEBRA-BEGIN/d" -e
"/ZEBRA-END/d" \
179 -e
"/EMF-BEGIN/d" -e
"/EMF-END/d" \
180 -e
"/VPN-BEGIN/d" -e
"/VPN-END/d" \
181 -e
"/AES-BEGIN/d" -e
"/AES-END/d" \
182 -e
"/IPV6-BEGIN/d" -e
"/IPV6-END/d" \
183 -e
"/CTF-BEGIN/d" -e
"/CTF-END/d" \
184 -e
"/NOCAT-BEGIN/d" -e
"/NOCAT_END/d"\
185 -e
"/SNMP-BEGIN/d" -e
"/SNMP_END/d"\
189 # make sure old and debugging crap is gone
190 @
rm -f
$(INSTALLDIR
)/www
/debug.js
191 @
rm -f
$(INSTALLDIR
)/www
/*-x.
*
192 @
rm -f
$(INSTALLDIR
)/www
/*-old.
*
193 @
rm -f
$(INSTALLDIR
)/www
/color.css
195 chmod
0644 $(INSTALLDIR
)/www
/*
197 # remove C-style comments from java files. All "control" comments have been processed by now.
198 for F in
$(wildcard *.js
*.jsx
); do \
199 [ -f
$(INSTALLDIR
)/www
/$$F ] && $(TOP
)/www
/remcoms2.sh
$(INSTALLDIR
)/www
/$$F c
; \