11# Makefile to generate the CSS2 document based on its "source files"
22# Arnaud Le Hors - lehors@w3.org
3- # $Id: Makefile,v 1.16 1997-09-08 02:51:07 ian Exp $
3+ # $Id: Makefile,v 1.17 1997-09-08 23:52:45 ian Exp $
44
55ROOT = .
66
@@ -79,6 +79,11 @@ STYLESHEETS= style/*.css
7979
8080ALLOBJS = $(SPECOBJS ) $(INDEXES ) $(IMAGES ) $(STYLESHEETS ) translations.html
8181
82+ PROPSRC = properties/properties.db
83+ DESCSRC = properties/descriptors.db
84+ PROPBLKSDIR = build/properties
85+ DESCBLKSDIR = build/descriptors
86+
8287INSTALLDIR = /afs/w3.org/pub/WWW/Style/Group/css2
8388
8489# dbase for property name anchors
@@ -89,6 +94,7 @@ VALUEDB= build/value.db
8994HEADINGDB = build/headings.db
9095
9196PERL = perl5
97+ NSGMLS =nsgmls
9298
9399# HTML include preprocessor (for includes)
94100HIPP = $(PERL ) ./bin/hipp
@@ -114,6 +120,10 @@ MKSUBTOC= $(PERL) ./bin/mksubtoc
114120INSAFTER = $(PERL ) ./bin/insafter
115121# add link
116122ADDLINKS = $(PERL ) ./bin/addlinks
123+ # extract properties from db.
124+ PEXTR = ./bin/pextr
125+ # extract descriptors from db.
126+ DEXTR = ./bin/dextr
117127
118128# utility to generate the PostScript version
119129# -R seems broken for this spec.
@@ -144,7 +154,7 @@ LN= ln
144154 $(RM ) build/subtoc.$$$$
145155
146156
147- all : $(PROPERTYDB ) $(VALUEDB ) $(HEADINGDB ) $(SPECOBJS ) $(INDEXES )
157+ all : blocks $(PROPERTYDB ) $(VALUEDB ) $(HEADINGDB ) $(SPECOBJS ) $(INDEXES )
148158
149159install : all css20.tgz
150160 @if [ ! -d $( INSTALLDIR) ]; then mkdir -p $(INSTALLDIR ) ; fi
@@ -176,6 +186,20 @@ css20.tgz:
176186css20.zip :
177187 $(ZIP ) $@ $(ALLOBJS )
178188
189+ # ### Section generate property/descriptor tables from property database.
190+
191+ blocks : $(PROPBLKSDIR ) /blocks.ok $(DESCBLKSDIR ) /blocks.ok
192+
193+ $(PROPBLKSDIR ) /blocks.ok : $(PROPSRC )
194+ @if [ ! -d $( PROPBLKSDIR) ]; then mkdir -p $(PROPBLKSDIR ) ; fi
195+ $(PEXTR ) $(PROPSRC ) $(PROPBLKSDIR )
196+ touch $@
197+
198+ $(DESCBLKSDIR ) /blocks.ok : $(DESCSRC )
199+ @if [ ! -d $( DESCBLKSDIR) ]; then mkdir -p $(DESCBLKSDIR ) ; fi
200+ $(DEXTR ) $(DESCSRC ) $(DESCBLKSDIR )
201+ touch $@
202+
179203$(PROPERTYDB ) : $(SPECSRCS )
180204 @if [ ! -d build ]; then mkdir build; fi
181205 $(MKANCHDB ) propdef - $(SPECSRCS ) | sed ' s/\.src/\.html/' > $@
@@ -208,8 +232,16 @@ index.html: index.src
208232 $(HIPP ) $(INCLUDES ) $< - | \
209233 $(ADDNAVBAR ) -r $@ - $@ contents " cover.html#toc"
210234
235+ # ## check on the document to see if it's valid
236+
237+ check : all
238+ @for i in $(MAINOBJS ) $(APPENDIXES ) $(REFS ) $(INDEXES ) ; \
239+ do echo checking $$ i...; $(NSGMLS ) -s -c sgml/HTML4.cat $$ i; done ; \
240+ echo checking done.
241+
211242clean :
212- $(RM ) $(SPECOBJS ) $(SPECIALOBJS ) $(INDEXES ) build/* css20.*
243+ $(RM ) $(SPECOBJS ) $(SPECIALOBJS ) $(INDEXES ) $(PROPBLKSDIR ) /* \
244+ $(DESCBLKSDIR)/* build/* css20.*
213245
214246realclean : clean
215247
0 commit comments