#!gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL.  You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation.  Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation.  All Rights
# Reserved.

DEPTH=../..

include $(DEPTH)/config/config.mk

TARGETS = generated

include $(DEPTH)/config/rules.mk

all:: nsHTMLTags.cpp nsCSSProps.cpp nsCSSKeywords.cpp nsColorNames.cpp

# XXX copy this to a shared config file for raptor
PERL = /usr/sbin/perl
GENHASH_PL = genhash.pl
GENHASH_INC = genhash.inc
GENHASH = $(PERL) $(GENHASH_PL)

nsCSSProps.cpp: $(GENHASH_PL) $(GENHASH_INC) CSSProps.txt Makefile
	$(GENHASH) "1,2,6,12" "" nsCSSProps PROP_ CSSProps.txt nsCSSPropIDs.h > nsCSSProps.cpp
	cp nsCSSProps.cpp nsCSSPropIDs.h ../html/src

nsCSSKeywords.cpp: $(GENHASH_PL) $(GENHASH_INC) CSSKeywords.txt Makefile
	$(GENHASH) "1,2,3,7" "" nsCSSKeywords KEYWORD_ CSSKeywords.txt nsCSSKeywordIDs.h > nsCSSKeywords.cpp
	cp nsCSSKeywords.cpp nsCSSKeywordIDs.h ../html/src

nsHTMLTags.cpp: $(GENHASH_PL) $(GENHASH_INC) HTMLTags.txt Makefile
	$(GENHASH) "1,2,3" "-o" nsHTMLTags TAG_ HTMLTags.txt nsHTMLTagIDs.h > nsHTMLTags.cpp
	cp nsHTMLTags.cpp nsHTMLTagIDs.h ../html/src

RGB = nsColorNamesRGB.cpp

nsColorNames.cpp: $(GENHASH_PL) $(GENHASH_INC) ColorNames.txt Makefile
	sed -e 's/:.*//' < ColorNames.txt > cnames
	echo "/* Do not edit - generated by tools/Makefile */" > $(RGB)
	echo "#include \"nsColorNames.h\"" >> $(RGB)
	echo "nscolor nsColorNames::kColors[COLOR_MAX] = {" >> $(RGB)
	sed -e 's/.*://' -e 's/$$/,/' < ColorNames.txt >> $(RGB)
	echo "};" >> $(RGB)
	$(GENHASH) "1,2,5,6,7,9,11" "-o" nsColorNames COLOR_ cnames nsColorNameIDs.h > nsColorNames.cpp
	cp nsColorNames.cpp nsColorNameIDs.h nsColorNamesRGB.cpp ../gfx/src
	rm cnames
