# -*- Mode: Makefile -*-
#
# The contents of this file are subject to the Netscape Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/NPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
DEPTH = ../../..
REAL_XPDIR = $(DEPTH)/lib/xp
HSRCS = $(wildcard *.html)
MSRCS = $(wildcard *.msg)
RM = /bin/rm -f
#
# tr has a bug on linux.
# tr '[\001-\272]' '[\106-\377]'
# does not translate char ']' So we use our own program to do this
#
TR69 = $(OBJDIR)/tr69
TARGETS = $(TR69) $(HSRCS:.html=.h) $(MSRCS:.msg=.h) splash.h splash-java.h \
about-lite.h about-java-lite.h splash-lite.h splash-java-lite.h
include $(DEPTH)/config/rules.mk
GARBAGE += about-lite.html about-java-lite.html $(wildcard splash*.html) \
$(wildcard *.pc) $(wildcard *.input) $(wildcard *.h) $(wildcard *~)
.SUFFIXES: .html .msg
$(TR69): tr69.c
@$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),OS2)
$(CCF) -Fe $@ $<
else
$(CC) -o $@ $<
endif
#
# Welcome to sHELL....
#
# The awk command before the tee is for Windows, the one after the
# tee is for Unix only. The about.pc file is for Win16, and the
# about-java.pc is for Win32. They become .rc files with a trivial
# tweak, if necessary.
#
# Mac: default
# Win32: no Mercutio MDEF
# Win16: no Mercutio MDEF
# Unix: no Mercutio MDEF, no Macromedia, no Symantec, no Quicktime
#
about.h: about-all.html
@echo generating $@ from $<; \
NAME=Netscape; \
CLASS=Netscape; \
RTMP=/tmp/nsrot$$$$; \
$(RM) $@ $*.pc; \
sed "s/@NAME@/$$NAME/g; \
s/@CLASS@/$$CLASS/g; \
s/@PROGNAME@/$(PROGNAME)/g" $< | \
awk 'BEGIN { skipline = 0 } \
/Mercutio/ { next } { print }' | \
tee $$RTMP | \
awk 'BEGIN { skipline = 0 } \
/about:qtlogo/,/<\/TD>/ { skipline = 1; next } \
/about:mmlogo/,/<\/TD>/ { skipline = 1; next } \
/about:symlogo/,/<\/TD>/ { skipline = 1; next } \
skipline == 1 && $$1 !~ /<\/TD>/ { next } \
skipline == 1 && $$1 ~ /<\/TD>/ { skipline = 0; next } \
{ print }' | \
tee splash.input | \
$(TR69) '[\001-\272]' '[\106-\377]' | \
od -b | \
sed 's/^[0-7][0-7]* *\(.*\)/\\\1/; \
s/ /\\/g; \
s/\(.*\)/ "\1"/; \
s/^ *"\\"$$//' >> $@; \
echo generating $*.pc from $<; \
$(EMACS) -batch -q -l $(REAL_XPDIR)/html-to-pc.el \
-f batch-html-to-pc $* $$RTMP $*.pc; \
echo; \
$(RM) $$RTMP
about-java.h: about-all.html
@echo generating $@ from $<; \
NAME=Netscape; \
CLASS=Netscape; \
RTMP=/tmp/nsrot$$$$; \
$(RM) $@ $*.pc; \
sed "s/@NAME@/$$NAME/g; \
s/@CLASS@/$$CLASS/g; \
s/@PROGNAME@/$(PROGNAME)/g" $< | \
awk 'BEGIN { skipline = 0 } \
/Mercutio/ { next } { print }' | \
tee $$RTMP | \
awk 'BEGIN { skipline = 0 } \
/about:qtlogo/,/<\/TD>/ { skipline = 1; next } \
/about:mmlogo/,/<\/TD>/ { skipline = 1; next } \
/about:symlogo/,/<\/TD>/ { skipline = 1; next } \
skipline == 1 && $$1 !~ /<\/TD>/ { next } \
skipline == 1 && $$1 ~ /<\/TD>/ { skipline = 0; next } \
{ print }' | \
tee splash-java.input | \
$(TR69) '[\001-\272]' '[\106-\377]' | \
od -b | \
sed 's/^[0-7][0-7]* *\(.*\)/\\\1/; \
s/ /\\/g; \
s/\(.*\)/ "\1"/; \
s/^ *"\\"$$//' >> $@; \
echo generating $*.pc from $<; \
$(EMACS) -batch -q -l $(REAL_XPDIR)/html-to-pc.el \
-f batch-html-to-pc $* $$RTMP $*.pc; \
echo; \
$(RM) $$RTMP
about-all.h: about-all.html
@echo "Garbage file" > $@
splash.input: about.h
splash-java.input: about-java.h
splash.html: splash.input
@echo generating $@ from $<...
@sed 's|]*">||g;s|||g' $< > $@
splash-java.html: splash-java.input
@echo generating $@ from $<...
@sed 's|]*">||g;s|||g' $< > $@
splash-lite.html: about-lite.html
@echo generating $@ from $<...
@sed 's|]*">||g;s|||g' $< > $@
splash-java-lite.html: about-java-lite.html
@echo generating $@ from $<...
@sed 's|]*">||g;s|||g' $< > $@
about-lite.html: splash.input
@echo generating $@ from $<...
@sed 's/Communicator/Navigator/' $< > $@
about-java-lite.html: splash-java.input
@echo generating $@ from $<...
@sed 's/Communicator/Navigator/' $< > $@
#
# Handle the rest of the HTML files.
#
.html.h:
@echo generating $*.h from $<; \
NAME=Netscape; \
CLASS=Netscape; \
RTMP=/tmp/nsrot$$$$; \
$(RM) $*.h $*.pc; \
sed "s/@NAME@/$$NAME/g; \
s/@CLASS@/$$CLASS/g; \
s/@PROGNAME@/$(PROGNAME)/g" \
< $< > $$RTMP; \
$(TR69) < $$RTMP | \
od -b | \
sed 's/^[0-7][0-7]* *\(.*\)/\\\1/; \
s/ /\\/g; \
s/\(.*\)/ "\1"/; \
s/^ *"\\"$$//' >> $*.h; \
echo generating $*.pc from $<; \
$(EMACS) -batch -q -l $(REAL_XPDIR)/html-to-pc.el \
-f batch-html-to-pc $* $$RTMP $*.pc; \
echo; \
$(RM) $$RTMP
.msg.h:
@echo generating $*.h from $<; \
NAME=Netscape; \
CLASS=Netscape; \
$(RM) $*.h; \
RTMP=/tmp/nsrot$$$$; \
sed "s/@NAME@/$$NAME/g; \
s/@CLASS@/$$CLASS/g; \
s/@PROGNAME@/$(PROGNAME)/g" \
< $< > $$RTMP; \
$(TR69) '[\001-\272]' '[\106-\377]' < $$RTMP | \
od -b | sed 's/^[0-7][0-7]* *\(.*\)/\\\1/; \
s/ /\\/g;s/\(.*\)/ "\1"/;s/^ *"\\"$$//' \
>> $*.h; \
$(RM) $$RTMP
$(TARGETS): Makefile
export:: $(TARGETS)