Skip to content
This repository was archived by the owner on Jun 17, 2022. It is now read-only.

Commit 9dc2448

Browse files
committed
build: Move source entries out to sources.mk
This allows for tighter integration with upstream projects. Otherwise it should be a no-op.
1 parent c4b47fe commit 9dc2448

File tree

2 files changed

+105
-70
lines changed

2 files changed

+105
-70
lines changed

Makefile.am

Lines changed: 12 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1+
include sources.mk
12
ACLOCAL_AMFLAGS = -I build-aux/m4
23
.PHONY: gen FORCE
34
.INTERMEDIATE: $(GENBIN)
45

5-
include_HEADERS = include/univalue.h
6-
noinst_HEADERS = lib/univalue_escapes.h lib/univalue_utffilter.h
6+
include_HEADERS = $(UNIVALUE_DIST_HEADERS_INT)
7+
noinst_HEADERS = $(UNIVALUE_LIB_HEADERS_INT)
78

89
lib_LTLIBRARIES = libunivalue.la
910

1011
pkgconfigdir = $(libdir)/pkgconfig
1112
pkgconfig_DATA = pc/libunivalue.pc
1213

13-
libunivalue_la_SOURCES = \
14-
lib/univalue.cpp \
15-
lib/univalue_get.cpp \
16-
lib/univalue_read.cpp \
17-
lib/univalue_write.cpp
14+
libunivalue_la_SOURCES = $(UNIVALUE_LIB_SOURCES_INT)
1815

1916
libunivalue_la_LDFLAGS = \
2017
-version-info $(LIBUNIVALUE_CURRENT):$(LIBUNIVALUE_REVISION):$(LIBUNIVALUE_AGE) \
@@ -36,81 +33,26 @@ gen: $(GENBIN) FORCE
3633

3734
noinst_PROGRAMS = $(TESTS) test/test_json
3835

39-
TEST_DATA_DIR=test
40-
41-
test_unitester_SOURCES = test/unitester.cpp
36+
test_unitester_SOURCES = $(UNIVALUE_TEST_UNITESTER_INT)
4237
test_unitester_LDADD = libunivalue.la
43-
test_unitester_CXXFLAGS = -I$(top_srcdir)/include -DJSON_TEST_SRC=\"$(srcdir)/$(TEST_DATA_DIR)\"
38+
test_unitester_CXXFLAGS = -I$(top_srcdir)/include -DJSON_TEST_SRC=\"$(srcdir)/$(UNIVALUE_TEST_DATA_DIR_INT)\"
4439
test_unitester_LDFLAGS = -static $(LIBTOOL_APP_LDFLAGS)
4540

46-
test_test_json_SOURCES = test/test_json.cpp
41+
test_test_json_SOURCES = $(UNIVALUE_TEST_JSON_INT)
4742
test_test_json_LDADD = libunivalue.la
4843
test_test_json_CXXFLAGS = -I$(top_srcdir)/include
4944
test_test_json_LDFLAGS = -static $(LIBTOOL_APP_LDFLAGS)
5045

51-
test_no_nul_SOURCES = test/no_nul.cpp
46+
test_no_nul_SOURCES = $(UNIVALUE_TEST_NO_NUL_INT)
5247
test_no_nul_LDADD = libunivalue.la
5348
test_no_nul_CXXFLAGS = -I$(top_srcdir)/include
5449
test_no_nul_LDFLAGS = -static $(LIBTOOL_APP_LDFLAGS)
5550

56-
test_object_SOURCES = test/object.cpp
51+
test_object_SOURCES = $(UNIVALUE_TEST_OBJECT_INT)
5752
test_object_LDADD = libunivalue.la
5853
test_object_CXXFLAGS = -I$(top_srcdir)/include
5954
test_object_LDFLAGS = -static $(LIBTOOL_APP_LDFLAGS)
6055

61-
TEST_FILES = \
62-
$(TEST_DATA_DIR)/fail10.json \
63-
$(TEST_DATA_DIR)/fail11.json \
64-
$(TEST_DATA_DIR)/fail12.json \
65-
$(TEST_DATA_DIR)/fail13.json \
66-
$(TEST_DATA_DIR)/fail14.json \
67-
$(TEST_DATA_DIR)/fail15.json \
68-
$(TEST_DATA_DIR)/fail16.json \
69-
$(TEST_DATA_DIR)/fail17.json \
70-
$(TEST_DATA_DIR)/fail18.json \
71-
$(TEST_DATA_DIR)/fail19.json \
72-
$(TEST_DATA_DIR)/fail1.json \
73-
$(TEST_DATA_DIR)/fail20.json \
74-
$(TEST_DATA_DIR)/fail21.json \
75-
$(TEST_DATA_DIR)/fail22.json \
76-
$(TEST_DATA_DIR)/fail23.json \
77-
$(TEST_DATA_DIR)/fail24.json \
78-
$(TEST_DATA_DIR)/fail25.json \
79-
$(TEST_DATA_DIR)/fail26.json \
80-
$(TEST_DATA_DIR)/fail27.json \
81-
$(TEST_DATA_DIR)/fail28.json \
82-
$(TEST_DATA_DIR)/fail29.json \
83-
$(TEST_DATA_DIR)/fail2.json \
84-
$(TEST_DATA_DIR)/fail30.json \
85-
$(TEST_DATA_DIR)/fail31.json \
86-
$(TEST_DATA_DIR)/fail32.json \
87-
$(TEST_DATA_DIR)/fail33.json \
88-
$(TEST_DATA_DIR)/fail34.json \
89-
$(TEST_DATA_DIR)/fail35.json \
90-
$(TEST_DATA_DIR)/fail36.json \
91-
$(TEST_DATA_DIR)/fail37.json \
92-
$(TEST_DATA_DIR)/fail38.json \
93-
$(TEST_DATA_DIR)/fail39.json \
94-
$(TEST_DATA_DIR)/fail40.json \
95-
$(TEST_DATA_DIR)/fail41.json \
96-
$(TEST_DATA_DIR)/fail42.json \
97-
$(TEST_DATA_DIR)/fail44.json \
98-
$(TEST_DATA_DIR)/fail3.json \
99-
$(TEST_DATA_DIR)/fail4.json \
100-
$(TEST_DATA_DIR)/fail5.json \
101-
$(TEST_DATA_DIR)/fail6.json \
102-
$(TEST_DATA_DIR)/fail7.json \
103-
$(TEST_DATA_DIR)/fail8.json \
104-
$(TEST_DATA_DIR)/fail9.json \
105-
$(TEST_DATA_DIR)/pass1.json \
106-
$(TEST_DATA_DIR)/pass2.json \
107-
$(TEST_DATA_DIR)/pass3.json \
108-
$(TEST_DATA_DIR)/round1.json \
109-
$(TEST_DATA_DIR)/round2.json \
110-
$(TEST_DATA_DIR)/round3.json \
111-
$(TEST_DATA_DIR)/round4.json \
112-
$(TEST_DATA_DIR)/round5.json \
113-
$(TEST_DATA_DIR)/round6.json \
114-
$(TEST_DATA_DIR)/round7.json
115-
116-
EXTRA_DIST=$(TEST_FILES) $(GEN_SRCS)
56+
TEST_FILES = $(UNIVALUE_TEST_FILES_INT)
57+
58+
EXTRA_DIST=$(UNIVALUE_TEST_FILES_INT) $(GEN_SRCS)

sources.mk

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# - All variables are namespaced with UNIVALUE_ to avoid colliding with
2+
# downstream makefiles.
3+
# - All Variables ending in _HEADERS or _SOURCES confuse automake, so the
4+
# _INT postfix is applied.
5+
# - Convenience variables, for example a UNIVALUE_TEST_DIR should not be used
6+
# as they interfere with automatic dependency generation
7+
# - The %reldir% is the relative path from the Makefile.am. This allows
8+
# downstreams to use these variables without having to manually account for
9+
# the path change.
10+
11+
UNIVALUE_INCLUDE_DIR_INT = %reldir%/include
12+
13+
UNIVALUE_DIST_HEADERS_INT =
14+
UNIVALUE_DIST_HEADERS_INT += %reldir%/include/univalue.h
15+
16+
UNIVALUE_LIB_HEADERS_INT =
17+
UNIVALUE_LIB_HEADERS_INT += %reldir%/lib/univalue_utffilter.h
18+
UNIVALUE_LIB_HEADERS_INT += %reldir%/lib/univalue_escapes.h
19+
20+
UNIVALUE_LIB_SOURCES_INT =
21+
UNIVALUE_LIB_SOURCES_INT += %reldir%/lib/univalue.cpp
22+
UNIVALUE_LIB_SOURCES_INT += %reldir%/lib/univalue_get.cpp
23+
UNIVALUE_LIB_SOURCES_INT += %reldir%/lib/univalue_read.cpp
24+
UNIVALUE_LIB_SOURCES_INT += %reldir%/lib/univalue_write.cpp
25+
26+
UNIVALUE_TEST_DATA_DIR_INT = %reldir%/test
27+
28+
UNIVALUE_TEST_UNITESTER_INT =
29+
UNIVALUE_TEST_UNITESTER_INT += %reldir%/test/unitester.cpp
30+
31+
UNIVALUE_TEST_JSON_INT =
32+
UNIVALUE_TEST_JSON_INT += %reldir%/test/test_json.cpp
33+
34+
UNIVALUE_TEST_NO_NUL_INT =
35+
UNIVALUE_TEST_NO_NUL_INT += %reldir%/test/no_nul.cpp
36+
37+
UNIVALUE_TEST_OBJECT_INT =
38+
UNIVALUE_TEST_OBJECT_INT += %reldir%/test/object.cpp
39+
40+
UNIVALUE_TEST_FILES_INT =
41+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail1.json
42+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail2.json
43+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail3.json
44+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail4.json
45+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail5.json
46+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail6.json
47+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail7.json
48+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail8.json
49+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail9.json
50+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail10.json
51+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail11.json
52+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail12.json
53+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail13.json
54+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail14.json
55+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail15.json
56+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail16.json
57+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail17.json
58+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail18.json
59+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail19.json
60+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail20.json
61+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail21.json
62+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail22.json
63+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail23.json
64+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail24.json
65+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail25.json
66+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail26.json
67+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail27.json
68+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail28.json
69+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail29.json
70+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail30.json
71+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail31.json
72+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail32.json
73+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail33.json
74+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail34.json
75+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail35.json
76+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail36.json
77+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail37.json
78+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail38.json
79+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail39.json
80+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail40.json
81+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail41.json
82+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail42.json
83+
UNIVALUE_TEST_FILES_INT += %reldir%/test/fail44.json
84+
UNIVALUE_TEST_FILES_INT += %reldir%/test/pass1.json
85+
UNIVALUE_TEST_FILES_INT += %reldir%/test/pass2.json
86+
UNIVALUE_TEST_FILES_INT += %reldir%/test/pass3.json
87+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round1.json
88+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round2.json
89+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round3.json
90+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round4.json
91+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round5.json
92+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round6.json
93+
UNIVALUE_TEST_FILES_INT += %reldir%/test/round7.json

0 commit comments

Comments
 (0)