1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00
serenity/Libraries/LibHTML/Makefile.shared
Andreas Kling e6e41e4fb8 LibHTML: Start building a simple code generator for CSS properties
Code for parsing and stringifying CSS properties is now generated based
on LibHTML/CSS/Properties.json

At the moment, the file tells us three things:

- The name of a property
- Its initial value
- Whether it's inherited

Also, for shorthand properties, it provides a list of all the longhand
properties it may expand too. This is not actually used in the engine
yet though.

This *finally* makes layout tree dumps show the names of CSS properties
in effect, instead of "CSS::PropertyID(32)" and such. :^)
2019-11-18 11:48:41 +01:00

95 lines
2.7 KiB
Text

LIBHTML_OBJS = \
DOM/Node.o \
DOM/ParentNode.o \
DOM/Element.o \
DOM/HTMLElement.o \
DOM/HTMLAnchorElement.o \
DOM/HTMLHeadingElement.o \
DOM/HTMLHeadElement.o \
DOM/HTMLHRElement.o \
DOM/HTMLHtmlElement.o \
DOM/HTMLStyleElement.o \
DOM/HTMLTitleElement.o \
DOM/HTMLBodyElement.o \
DOM/HTMLFontElement.o \
DOM/HTMLImageElement.o \
DOM/HTMLLinkElement.o \
DOM/HTMLBlinkElement.o \
DOM/HTMLBRElement.o \
DOM/Document.o \
DOM/CharacterData.o \
DOM/Comment.o \
DOM/Text.o \
DOM/DocumentType.o \
DOM/ElementFactory.o \
CSS/PropertyID.o \
CSS/Selector.o \
CSS/StyleSheet.o \
CSS/StyleRule.o \
CSS/StyleDeclaration.o \
CSS/StyleValue.o \
CSS/StyleProperties.o \
CSS/StyleResolver.o \
CSS/DefaultStyleSheetSource.o \
CSS/SelectorEngine.o \
Parser/HTMLParser.o \
Parser/CSSParser.o \
Layout/LayoutNode.o \
Layout/LayoutBox.o \
Layout/LayoutText.o \
Layout/LayoutBlock.o \
Layout/LayoutInline.o \
Layout/LayoutDocument.o \
Layout/LayoutReplaced.o \
Layout/LayoutImage.o \
Layout/LayoutListItem.o \
Layout/LayoutListItemMarker.o \
Layout/LayoutBreak.o \
Layout/LayoutTable.o \
Layout/LayoutTableRow.o \
Layout/LayoutTableCell.o \
Layout/BoxModelMetrics.o \
Layout/LineBox.o \
Layout/LineBoxFragment.o \
Layout/LayoutTreeBuilder.o \
DOMTreeModel.o \
FontCache.o \
ResourceLoader.o \
HtmlView.o \
Frame.o \
Dump.o
GENERATED_SOURCES = \
CSS/DefaultStyleSheetSource.cpp \
CSS/PropertyID.h \
CSS/PropertyID.cpp
OBJS = $(EXTRA_OBJS) $(LIBHTML_OBJS)
LIBRARY = libhtml.a
DEFINES += -DUSERLAND
Dump.cpp: CSS/PropertyID.h
Parser/CSSParser.cpp: CSS/PropertyID.h
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
CSS/PropertyID.h: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h.cpp
make -C CodeGenerators/Generate_CSS_PropertyID_h
@echo "GENERATE $@"; CodeGenerators/Generate_CSS_PropertyID_h/Generate_CSS_PropertyID_h $< > $@
CSS/PropertyID.cpp: CSS/Properties.json CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp.cpp CSS/PropertyID.h
make -C CodeGenerators/Generate_CSS_PropertyID_cpp
@echo "GENERATE $@"; CodeGenerators/Generate_CSS_PropertyID_cpp/Generate_CSS_PropertyID_cpp $< > $@
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
make -C CodeGenerators/Generate_CSS_PropertyID_h clean
make -C CodeGenerators/Generate_CSS_PropertyID_cpp clean
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d $(GENERATED_SOURCES)