Skip to content

Commit 17f2714

Browse files
committed
make: macroise source setup
1 parent ebcc6a1 commit 17f2714

2 files changed

Lines changed: 37 additions & 25 deletions

File tree

Makefile

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@ include functions.mk
1717

1818
# Fribidi
1919
build/lib/fribidi/configure: lib/fribidi $(wildcard $(BASE_DIR)build/patches/fribidi/*.patch)
20-
rm -rf build/lib/fribidi
21-
mkdir -p build/lib
22-
cp -r lib/fribidi build/lib/fribidi
23-
$(foreach file, $(wildcard $(BASE_DIR)build/patches/fribidi/*.patch), patch -d "$(BASE_DIR)build/lib/fribidi" -Np1 -i $(file) && ) true
24-
cd build/lib/fribidi && NOCONFIGURE=1 ./autogen.sh
20+
$(call PREPARE_SRC_PATCHED,fribidi)
21+
cd build/lib/fribidi && $(RECONF_AUTO)
2522

2623
$(DIST_DIR)/lib/libfribidi.a: build/lib/fribidi/configure
2724
cd build/lib/fribidi && \
@@ -41,7 +38,7 @@ $(DIST_DIR)/lib/libfribidi.a: build/lib/fribidi/configure
4138
emmake make install-pkgconfigDATA
4239

4340
build/lib/expat/configured: lib/expat
44-
mkdir -p build/lib/expat
41+
$(call PREPARE_SRC_VPATH,expat)
4542
touch build/lib/expat/configured
4643

4744
$(DIST_DIR)/lib/libexpat.a: build/lib/expat/configured
@@ -65,9 +62,7 @@ $(DIST_DIR)/lib/libexpat.a: build/lib/expat/configured
6562
build/lib/brotli/js/decode.js: build/lib/brotli/configured
6663
build/lib/brotli/js/polyfill.js: build/lib/brotli/configured
6764
build/lib/brotli/configured: lib/brotli $(wildcard $(BASE_DIR)build/patches/brotli/*.patch)
68-
rm -rf build/lib/brotli
69-
cp -r lib/brotli build/lib/brotli
70-
$(foreach file, $(wildcard $(BASE_DIR)build/patches/brotli/*.patch), patch -d "$(BASE_DIR)build/lib/brotli" -Np1 -i $(file) && ) true
65+
$(call PREPARE_SRC_PATCHED,brotli)
7166
touch build/lib/brotli/configured
7267

7368
$(DIST_DIR)/lib/libbrotlidec.a: $(DIST_DIR)/lib/libbrotlicommon.a
@@ -87,13 +82,13 @@ $(DIST_DIR)/lib/libbrotlicommon.a: build/lib/brotli/configured
8782
for lib in *-static.a ; do mv "$$lib" "$${lib%-static.a}.a" ; done
8883

8984

85+
build/lib/freetype/configure: lib/freetype $(wildcard $(BASE_DIR)build/patches/freetype/*.patch)
86+
$(call PREPARE_SRC_PATCHED,freetype)
87+
cd build/lib/freetype && $(RECONF_AUTO)
88+
9089
# Freetype without Harfbuzz
91-
build/lib/freetype/build_hb/dist_hb/lib/libfreetype.a: $(DIST_DIR)/lib/libbrotlidec.a $(wildcard $(BASE_DIR)build/patches/freetype/*.patch)
92-
rm -rf build/lib/freetype
93-
cp -r lib/freetype build/lib/freetype
94-
$(foreach file, $(wildcard $(BASE_DIR)build/patches/freetype/*.patch), patch -d "$(BASE_DIR)build/lib/freetype" -Np1 -i $(file) && ) true
90+
build/lib/freetype/build_hb/dist_hb/lib/libfreetype.a: $(DIST_DIR)/lib/libbrotlidec.a build/lib/freetype/configure
9591
cd build/lib/freetype && \
96-
NOCONFIGURE=1 ./autogen.sh && \
9792
mkdir -p build_hb && \
9893
cd build_hb && \
9994
EM_PKG_CONFIG_PATH=$(DIST_DIR)/lib/pkgconfig \
@@ -118,10 +113,8 @@ build/lib/freetype/build_hb/dist_hb/lib/libfreetype.a: $(DIST_DIR)/lib/libbrotli
118113

119114
# Harfbuzz
120115
build/lib/harfbuzz/configure: lib/harfbuzz $(wildcard $(BASE_DIR)build/patches/harfbuzz/*.patch)
121-
rm -rf build/lib/harfbuzz
122-
cp -r lib/harfbuzz build/lib/harfbuzz
123-
$(foreach file, $(wildcard $(BASE_DIR)build/patches/harfbuzz/*.patch), patch -d "$(BASE_DIR)build/lib/harfbuzz" -Np1 -i $(file) && ) true
124-
cd build/lib/harfbuzz && NOCONFIGURE=1 ./autogen.sh
116+
$(call PREPARE_SRC_PATCHED,harfbuzz)
117+
cd build/lib/harfbuzz && $(RECONF_AUTO)
125118

126119
$(DIST_DIR)/lib/libharfbuzz.a: build/lib/freetype/build_hb/dist_hb/lib/libfreetype.a build/lib/harfbuzz/configure
127120
cd build/lib/harfbuzz && \
@@ -176,10 +169,8 @@ $(DIST_DIR)/lib/libfreetype.a: $(DIST_DIR)/lib/libharfbuzz.a $(DIST_DIR)/lib/lib
176169

177170
# Fontconfig
178171
build/lib/fontconfig/configure: lib/fontconfig $(wildcard $(BASE_DIR)build/patches/fontconfig/*.patch)
179-
rm -rf build/lib/fontconfig
180-
cp -r lib/fontconfig build/lib/fontconfig
181-
$(foreach file, $(wildcard $(BASE_DIR)build/patches/fontconfig/*.patch), patch -d "$(BASE_DIR)build/lib/fontconfig" -Np1 -i $(file) && ) true
182-
cd build/lib/fontconfig && NOCONFIGURE=1 ./autogen.sh
172+
$(call PREPARE_SRC_PATCHED,fontconfig)
173+
cd build/lib/fontconfig && $(RECONF_AUTO)
183174

184175
$(DIST_DIR)/lib/libfontconfig.a: $(DIST_DIR)/lib/libharfbuzz.a $(DIST_DIR)/lib/libexpat.a $(DIST_DIR)/lib/libfribidi.a $(DIST_DIR)/lib/libfreetype.a build/lib/fontconfig/configure
185176
cd build/lib/fontconfig && \
@@ -203,9 +194,8 @@ $(DIST_DIR)/lib/libfontconfig.a: $(DIST_DIR)/lib/libharfbuzz.a $(DIST_DIR)/lib/l
203194
# libass --
204195

205196
build/lib/libass/configured: lib/libass
206-
rm -rf build/lib/libass
207-
cd lib/libass && NOCONFIGURE=1 ./autogen.sh
208-
mkdir -p build/lib/libass
197+
cd lib/libass && $(RECONF_AUTO)
198+
$(call PREPARE_SRC_VPATH,libass)
209199
touch build/lib/libass/configured
210200

211201
$(DIST_DIR)/lib/libass.a: $(DIST_DIR)/lib/libfontconfig.a $(DIST_DIR)/lib/libharfbuzz.a $(DIST_DIR)/lib/libexpat.a $(DIST_DIR)/lib/libfribidi.a $(DIST_DIR)/lib/libfreetype.a $(DIST_DIR)/lib/libbrotlidec.a build/lib/libass/configured

functions.mk

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@
55
# Special macros of the name TR_... create targets (and always take arguments)
66
# and thus also need to be $(eval ...)'ed
77

8+
## Build stuff
9+
10+
# @arg1: name of submodule
11+
define PREPARE_SRC_PATCHED
12+
rm -rf build/lib/$(1)
13+
mkdir -p build/lib
14+
cp -r lib/$(1) build/lib/$(1)
15+
$(foreach file, $(wildcard $(BASE_DIR)build/patches/$(1)/*.patch), \
16+
patch -d "$(BASE_DIR)build/lib/$(1)" -Np1 -i $(file) && \
17+
) :
18+
endef
19+
20+
# @arg1: name of submdolue
21+
define PREPARE_SRC_VPATH
22+
rm -rf build/lib/$(1)
23+
mkdir -p build/lib/$(1)
24+
touch build/lib/$(1)/configured
25+
endef
26+
27+
# All projects we build have autogen.sh, otherwise we could also fallback to `autoreconf -ivf .`
28+
RECONF_AUTO := NOCONFIGURE=1 ./autogen.sh
29+
830

931
## Clean and git related
1032

0 commit comments

Comments
 (0)