1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:17:46 +00:00

LibHTML: Make it possible to build LibHTML on the host.

- "make" builds the normal Serenity libhtml.a
- "make -f Makefile.host" builds a test program for the host machine.
This commit is contained in:
Andreas Kling 2019-06-22 21:21:57 +02:00
parent 04b2082e97
commit 7e1cb86da7
12 changed files with 101 additions and 56 deletions

View file

@ -1,58 +1,17 @@
include ../Makefile.common
LIBHTML_OBJS = \
DOM/Node.o \
DOM/ParentNode.o \
DOM/Element.o \
DOM/Document.o \
DOM/Text.o \
CSS/Selector.o \
CSS/StyleSheet.o \
CSS/StyleRule.o \
CSS/StyleDeclaration.o \
CSS/StyleValue.o \
CSS/DefaultStyleSheetSource.o \
Parser/HTMLParser.o \
Parser/CSSParser.o \
Layout/LayoutNode.o \
Layout/LayoutText.o \
Layout/LayoutBlock.o \
Layout/LayoutInline.o \
Layout/LayoutDocument.o \
Layout/LayoutStyle.o \
Frame.o \
Dump.o
GENERATED_SOURCES = \
CSS/DefaultStyleSheetSource.cpp
TEST_OBJS = test.o
TEST_PROGRAM = tho
OBJS = $(LIBHTML_OBJS) $(TEST_OBJS)
LIBRARY = libhtml.a
DEFINES += -DUSERLAND
all: $(LIBRARY) $(TEST_PROGRAM)
all: $(LIBRARY) tho
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
include Makefile.shared
$(TEST_PROGRAM): $(TEST_OBJS) $(LIBRARY)
tho: $(TEST_OBJS) $(LIBRARY)
$(LD) -o $@ $(LDFLAGS) -L. $(TEST_OBJS) -lhtml -lgui -lcore -lc
$(LIBRARY): $(LIBHTML_OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(LIBHTML_OBJS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(TEST_PROGRAM) $(LIBRARY) $(OBJS) *.d $(GENERATED_SOURCES)
install: $(LIBRARY)
mkdir -p ../Root/usr/include/LibHTML
# Copy headers

20
LibHTML/Makefile.host Normal file
View file

@ -0,0 +1,20 @@
all: tho
CXXFLAGS = -W -Wall -O -g -I. -I../ -std=c++17
EXTRA_OBJS = \
../AK/StringImpl.o \
../AK/String.o \
../AK/StringBuilder.o \
../AK/StringView.o \
../LibCore/CEventLoop.o \
../LibCore/CObject.o \
../LibCore/CEvent.o \
../LibCore/CIODevice.o \
../LibCore/CFile.o
include Makefile.shared
tho: $(OBJS)
$(CXX) -o $@ $(LDFLAGS) $(OBJS)

45
LibHTML/Makefile.shared Normal file
View file

@ -0,0 +1,45 @@
LIBHTML_OBJS = \
DOM/Node.o \
DOM/ParentNode.o \
DOM/Element.o \
DOM/Document.o \
DOM/Text.o \
CSS/Selector.o \
CSS/StyleSheet.o \
CSS/StyleRule.o \
CSS/StyleDeclaration.o \
CSS/StyleValue.o \
CSS/DefaultStyleSheetSource.o \
Parser/HTMLParser.o \
Parser/CSSParser.o \
Layout/LayoutNode.o \
Layout/LayoutText.o \
Layout/LayoutBlock.o \
Layout/LayoutInline.o \
Layout/LayoutDocument.o \
Layout/LayoutStyle.o \
Frame.o \
Dump.o
GENERATED_SOURCES = \
CSS/DefaultStyleSheetSource.cpp
TEST_OBJS = test.o
TEST_PROGRAM = tho
OBJS = $(EXTRA_OBJS) $(LIBHTML_OBJS) $(TEST_OBJS)
LIBRARY = libhtml.a
DEFINES += -DUSERLAND
CSS/DefaultStyleSheetSource.cpp: CSS/Default.css Scripts/GenerateStyleSheetSource.sh
@echo "GENERATE $@"; Scripts/GenerateStyleSheetSource.sh default_stylesheet_source $< > $@
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(TEST_PROGRAM) $(LIBRARY) $(OBJS) *.d $(GENERATED_SOURCES)

View file

@ -80,7 +80,6 @@ NonnullRefPtr<StyleSheet> parse_css(const String& css)
auto parse_declaration = [&] {
consume_whitespace();
};
auto parse_declarations = [&] {