This repository has been archived by the owner on Feb 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 661
/
Makefile.am
118 lines (104 loc) · 3.78 KB
/
Makefile.am
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# Googletest magic. Gumbo relies on Googletest for its unittests, and
# Googletest (by design) does not provide a "make install" option. Instead,
# we'll assume you copy (or symlink) the Googletest distribution into a 'gtest'
# directory inside the main library directory, and then provide rules to build
# it automatically. This approach (and these rules) are copied from the
# protobuf distribution.
ACLOCAL_AMFLAGS = -I m4
if !HAVE_SHARED_LIBGTEST
# Build gtest before we build protobuf tests. We don't add gtest to SUBDIRS
# because then "make check" would also build and run all of gtest's own tests,
# which takes a lot of time and is generally not useful to us. Also, we don't
# want "make install" to recurse into gtest since we don't want to overwrite
# the installed version of gtest if there is one.
check-local: gtest/lib/libgtest.la gtest/lib/libgtest_main.la
gtest/lib/libgtest.la gtest/lib/libgtest_main.la: gtest/Makefile
@echo "Making lib/libgtest.a lib/libgtest_main.a in gtest"
@cd gtest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
gtest/Makefile: gtest/configure
@cd gtest && ./configure
# We would like to clean gtest when "make clean" is invoked. But we have to
# be careful because clean-local is also invoked during "make distclean", but
# "make distclean" already recurses into gtest because it's listed among the
# DIST_SUBDIRS. distclean will delete gtest/Makefile, so if we then try to
# cd to the directory again and "make clean" it will fail. So, check that the
# Makefile exists before recursing.
clean-local:
@if test -e gtest/Makefile; then \
echo "Making clean in gtest"; \
cd gtest && $(MAKE) $(AM_MAKEFLAGS) clean; \
fi
endif !HAVE_SHARED_LIBGTEST
gentags: src/tag.in
@python gentags.py $<
@gperf -LANSI-C --ignore-case -m200 $< |python genperf.py >src/tag_gperf.h
lib_LTLIBRARIES = libgumbo.la
libgumbo_la_CFLAGS = -Wall
libgumbo_la_LDFLAGS = -version-info 1:0:0 -no-undefined
libgumbo_la_SOURCES = \
src/attribute.c \
src/attribute.h \
src/char_ref.c \
src/char_ref.h \
src/error.c \
src/error.h \
src/insertion_mode.h \
src/parser.c \
src/parser.h \
src/string_buffer.c \
src/string_buffer.h \
src/string_piece.c \
src/string_piece.h \
src/tag.c \
src/tag_enum.h \
src/tag_gperf.h \
src/tag_strings.h \
src/tag_sizes.h \
src/token_type.h \
src/tokenizer.c \
src/tokenizer.h \
src/tokenizer_states.h \
src/utf8.c \
src/utf8.h \
src/util.c \
src/util.h \
src/vector.c \
src/vector.h
include_HEADERS = src/gumbo.h src/tag_enum.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gumbo.pc
check_PROGRAMS = gumbo_test
TESTS = gumbo_test
gumbo_test_CPPFLAGS = \
-I"$(srcdir)/." \
-I"$(srcdir)/src" \
-I"$(srcdir)/gtest/include"
gumbo_test_SOURCES = \
tests/attribute.cc \
tests/char_ref.cc \
tests/parser.cc \
tests/string_buffer.cc \
tests/string_piece.cc \
tests/tokenizer.cc \
tests/test_utils.cc \
tests/utf8.cc \
tests/vector.cc
gumbo_test_DEPENDENCIES = libgumbo.la
gumbo_test_LDADD = libgumbo.la
if HAVE_SHARED_LIBGTEST
# FIXME(bnoordhuis) Should be configurable by the user.
gumbo_test_LDADD += -lgtest -lgtest_main
else
gumbo_test_DEPENDENCIES += check-local
gumbo_test_LDADD += gtest/lib/libgtest.la gtest/lib/libgtest_main.la
endif
noinst_PROGRAMS = clean_text find_links get_title positions_of_class benchmark serialize prettyprint
LDADD = libgumbo.la
AM_CPPFLAGS = -I"$(srcdir)/src"
clean_text_SOURCES = examples/clean_text.cc
find_links_SOURCES = examples/find_links.cc
get_title_SOURCES = examples/get_title.c
positions_of_class_SOURCES = examples/positions_of_class.cc
benchmark_SOURCES = benchmarks/benchmark.cc
serialize_SOURCES = examples/serialize.cc
prettyprint_SOURCES = examples/prettyprint.cc