Skip to content

Commit 55c36e7

Browse files
committed
Updated makefiles
1 parent c0fccab commit 55c36e7

10 files changed

Lines changed: 85 additions & 75 deletions

File tree

Makefile

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,18 +100,18 @@ testconfig: CONFIG_FLAGS=TEST=1
100100
devel: CONFIG_FLAGS=TEST=1 DEVEL=1
101101

102102
config testconfig devel:
103-
$(MAKE) -f "make/configure.mk" config VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" -$(MAKEFLAGS)
103+
$(MAKE) -f "$(BASEDIR)/make/configure.mk" config VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" -$(MAKEFLAGS)
104104

105105
# Release-related targets
106106
.PHONY: distsrc
107107
distsrc:
108108
echo "Building source code archive"
109109
mkdir -p "$(DISTSRC)/modules"
110-
$(MAKE) -f "make/modules.mk" tree VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" MODULES="$(DISTSRC)/modules" TREE="1"
110+
$(MAKE) -f "make/modules.mk" tree TREE="1" BUILD_FEATURES="$(FEATURES)" VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" MODULES="$(DISTSRC)/modules"
111111
$(if $(DISTSRC_DIRS), cp -R $(DISTSRC_DIRS) "$(DISTSRC)/")
112112
$(if $(DISTSRC_FILES), cp $(DISTSRC_FILES) "$(DISTSRC)/")
113-
find "$(DISTSRC)" -iname '.git' | xargs rm -rf {}
114-
find "$(DISTSRC)" -iname '.gitignore' | xargs rm -rf {}
113+
find "$(DISTSRC)" -iname '.git' | xargs -exec rm -rf {}
114+
find "$(DISTSRC)" -iname '.gitignore' | xargs -exec rm -rf {}
115115
tar -C $(DISTSRC_PATH) -czf "$(BUILDDIR)/$(ARTIFACT_NAME)-src-$(ARTIFACT_VERSION).tar.gz" "$(ARTIFACT_NAME)"
116116
echo "Created archive: $(BUILDDIR)/$(ARTIFACT_NAME)-src-$(ARTIFACT_VERSION).tar.gz"
117117
rm -rf $(DISTSRC_PATH)
@@ -139,13 +139,14 @@ help:
139139
$(MAKE) -f "$(BASEDIR)/make/configure.mk" $(@) VERBOSE="$(VERBOSE)"
140140
echo ""
141141
echo "Available FEATURES:"
142-
echo " clap CLAP plugin format binaries"
142+
echo " clap CLAP plugins"
143143
echo " doc Generate standalone HTML documentation"
144144
echo " gst GStreamer plugins"
145-
echo " jack Standalone JACK plugins"
145+
echo " jack JACK audio backend for standalone plugins"
146146
echo " ladspa LADSPA plugins"
147+
echo " launcher Build launcher application for standalone plugin applications"
147148
echo " lv2 LV2 plugins"
148-
echo " ui Build plugins with UI"
149+
echo " standalone Standalone plugin applications"
149150
echo " vst2 VST 2.x plugin binaries"
150151
echo " vst3 VST 3.x plugin binaries"
151152
echo " xdg Desktop integration icons"

dependencies.mk

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,19 @@
2121
#------------------------------------------------------------------------------
2222
# List of all dependencies
2323
DEPENDENCIES = \
24+
LSP_3RD_PARTY \
2425
LSP_COMMON_LIB \
26+
LSP_AUDIO_IFACE \
2527
LSP_DSP_LIB \
2628
LSP_DSP_UNITS \
2729
LSP_LLTL_LIB \
28-
LSP_RUNTIME_LIB \
29-
LSP_PLUGINS_SHARED \
30-
LSP_3RD_PARTY \
3130
LSP_PLUGIN_FW \
31+
LSP_PLUGINS_SHARED \
32+
LSP_R3D_BASE_LIB \
3233
LSP_R3D_IFACE \
33-
LSP_WS_LIB \
34+
LSP_RUNTIME_LIB \
3435
LSP_TK_LIB \
35-
LSP_R3D_BASE_LIB
36+
LSP_WS_LIB
3637

3738
TEST_DEPENDENCIES = \
3839
LSP_TEST_FW
@@ -54,14 +55,15 @@ LINUX_DEPENDENCIES = \
5455
LIBSNDFILE \
5556
LIBX11 \
5657
LIBXRANDR \
58+
LSP_AUDIO_JACK_LIB \
5759
LSP_R3D_GLX_LIB
5860

5961
LINUX_TEST_DEPENDENCIES =
6062

6163
ifeq ($(PLATFORM),Linux)
6264
DEPENDENCIES += $(LINUX_DEPENDENCIES)
6365
TEST_DEPENDENCIES += $(LINUX_TEST_DEPENDENCIES)
64-
DEFAULT_FEATURES += jack gst xdg
66+
DEFAULT_FEATURES += standalone gst xdg jack
6567
endif
6668

6769
#------------------------------------------------------------------------------
@@ -80,37 +82,39 @@ BSD_DEPENDENCIES = \
8082
LIBSNDFILE \
8183
LIBX11 \
8284
LIBXRANDR \
85+
LSP_AUDIO_JACK_LIB \
8386
LSP_R3D_GLX_LIB
8487

8588
BSD_TEST_DEPENDENCIES =
8689

8790
ifeq ($(PLATFORM),BSD)
8891
DEPENDENCIES += $(BSD_DEPENDENCIES)
8992
TEST_DEPENDENCIES += $(BSD_TEST_DEPENDENCIES)
90-
DEFAULT_FEATURES += jack gst xdg
93+
DEFAULT_FEATURES += standalone gst xdg jack
9194
endif
9295

9396
#------------------------------------------------------------------------------
9497
# Windows dependencies
9598
WINDOWS_DEPENDENCIES = \
96-
LIBSHLWAPI \
97-
LIBWINMM \
98-
LIBMSACM \
99-
LIBMPR \
100-
LIBGDI32 \
10199
LIBD2D1 \
102-
LIBOLE \
103-
LIBWINCODEC \
104100
LIBDWRITE \
105-
LIBUUID \
101+
LIBGDI32 \
102+
LIBMPR \
103+
LIBMSACM \
104+
LIBOLE \
106105
LIBOPENGL32 \
106+
LIBSHLWAPI \
107+
LIBUUID \
108+
LIBWINCODEC \
109+
LIBWINMM \
107110
LSP_R3D_WGL_LIB
108111

109112
WINDOWS_TEST_DEPENDENCIES =
110113

111114
ifeq ($(PLATFORM),Windows)
112115
DEPENDENCIES += $(WINDOWS_DEPENDENCIES)
113116
TEST_DEPENDENCIES += $(WINDOWS_TEST_DEPENDENCIES)
117+
DEFAULT_FEATURES +=
114118
endif
115119

116120
#------------------------------------------------------------------------------
@@ -123,13 +127,14 @@ MACOS_DEPENDENCIES = \
123127
LIBFONTCONFIG \
124128
LIBFREETYPE \
125129
LIBICONV \
126-
LIBJACK
130+
LIBJACK
127131

128132
MACOS_TEST_DEPENDENCIES =
129133

130134
ifeq ($(PLATFORM),MacOS)
131135
DEPENDENCIES += $(MACOS_DEPENDENCIES)
132136
TEST_DEPENDENCIES += $(MACOS_TEST_DEPENDENCIES)
137+
DEFAULT_FEATURES +=
133138
endif
134139

135140
#------------------------------------------------------------------------------
@@ -145,4 +150,4 @@ ALL_DEPENDENCIES = \
145150
$(BSD_TEST_DEPENDENCIES) \
146151
$(WINDOWS_TEST_DEPENDENCIES) \
147152
$(MACOS_TEST_DEPENDENCIES)
148-
153+

make/configure.mk

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ endif
2424
BASEDIR := $(CURDIR)
2525
ROOTDIR := $(CURDIR)
2626
PLUGINS := $(BASEDIR)/plugins.mk
27-
TEST := 0
28-
DEBUG := 0
29-
PROFILE := 0
30-
TRACE := 0
27+
BUILD_FEATURES = $(sort $(call subtraction,$(SUB_FEATURES),$(if $(FEATURES),$(FEATURES),$(DEFAULT_FEATURES)) $(ADD_FEATURES)))
3128

3229
# Configure system settings
3330
include $(BASEDIR)/project.mk
@@ -39,7 +36,7 @@ include $(BASEDIR)/modules.mk
3936
include $(BASEDIR)/dependencies.mk
4037
include $(PLUGINS)
4138

42-
ifeq ($(DEVEL),1)
39+
ifeq ($(call fcheck,devel,$(BUILD_FEATURES),ON),ON)
4340
X_URL_SUFFIX = _RW
4441
else
4542
X_URL_SUFFIX = _RO
@@ -53,7 +50,6 @@ MERGED_DEPENDENCIES := \
5350
$(PLUGIN_SHARED)
5451
UNIQ_MERGED_DEPENDENCIES := $(call uniq, $(MERGED_DEPENDENCIES))
5552
DEPENDENCIES = $(UNIQ_MERGED_DEPENDENCIES)
56-
BUILD_FEATURES := $(sort $(call subtraction,$(SUB_FEATURES),$(if $(FEATURES),$(FEATURES),$(DEFAULT_FEATURES)) $(ADD_FEATURES)))
5753

5854
# Determine versions
5955
ifeq ($(findstring -devel,$(ARTIFACT_VERSION)),-devel)
@@ -256,10 +252,10 @@ ifndef HOST_$(ARTIFACT_ID)_PATH
256252
endif
257253

258254
ROOT_ARTIFACT_ID := $(ARTIFACT_ID)
259-
$(ARTIFACT_ID)_TESTING = $(TEST)
255+
$(ARTIFACT_ID)_TESTING = $(call fcheck,test,$(BUILD_FEATURES),1,0)
260256

261257
OVERALL_DEPS := $(call uniq,$(DEPENDENCIES) $(ARTIFACT_ID))
262-
__tmp := $(foreach dep,$(OVERALL_DEPS),$(call vardef, $(dep)))
258+
override __tmp := $(foreach dep,$(OVERALL_DEPS),$(call vardef, $(dep)))
263259

264260
CONFIG_VARS = \
265261
$(PATH_VARS) \
@@ -318,6 +314,7 @@ $(CONFIG_VARS): prepare
318314
echo "$(@)=$($(@))" >> "$(CONFIG)"
319315

320316
config: $(CONFIG_VARS)
317+
echo "Platform: $(PLATFORM)"
321318
echo "Host architecture: $(HOST_ARCHITECTURE_FAMILY)/$(HOST_ARCHITECTURE) ($(HOST_ARCHITECTURE_CFLAGS))"
322319
echo "Architecture: $(ARCHITECTURE_FAMILY)/$(ARCHITECTURE) ($(ARCHITECTURE_CFLAGS))"
323320
echo "Features: $(BUILD_FEATURES)"
@@ -354,4 +351,4 @@ help: | pathvars toolvars sysvars
354351
echo ""
355352
echo "Plugins used for build:"
356353
echo " $(PLUGINS_DEPENDENCIES)"
357-
354+
echo ""

make/functions.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ cquery = $(foreach d,$(call uniq, $3),$(if $($(d)_$(strip $1)),
4545

4646
# Find intersection between two sets
4747
# $(call intersection, list1, list2)
48-
intersection = $(sort $(foreach v,$1,$(if $(findstring $(v),$2),$(v))))
48+
intersection = $(sort $(foreach v,$1,$(if $(filter $(v),$2),$(v))))
4949

5050
# Subtract the first set from second set
5151
# $(call subtraction, list1, list2)
52-
subtraction = $(sort $(foreach v,$2,$(if $(findstring $(v),$1),,$(v))))
52+
subtraction = $(sort $(foreach v,$2,$(if $(filter $(v),$1),,$(v))))
5353

5454
# Check feature presence in list
5555
# $(call fcheck, features-to-check, all-feature-list, action-if-enabled, action-if-disabled)

make/modules.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ UNIQ_ALL_DEPENDENCIES := $(filter-out $(ARTIFACT_ID),$(call uniq, $(ALL_DEP
4848
MODULES ?= $(BASEDIR)/modules
4949
GIT ?= git
5050

51-
ifeq ($(DEVEL),1)
51+
ifeq ($(call fcheck,devel,$(BUILD_FEATURES),ON),ON)
5252
X_URL_SUFFIX = _RW
5353
else
5454
X_URL_SUFFIX = _RO

make/paths.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
ifndef PREFIX
2323
ifeq ($(PLATFORM),Windows)
2424
PREFIX := $(BASEDIR)/INSTALL
25-
else ifeq ($(CROSS_COMPILE),1)
25+
else ifeq ($(call fcheck,crosscompile,$(BUILD_FEATURES),ON),ON)
2626
PREFIX := $(BASEDIR)/INSTALL
2727
else
2828
PREFIX := /usr/local
@@ -43,7 +43,7 @@ BINDIR := $(PREFIX)/bin
4343
INCDIR := $(PREFIX)/include
4444
BUILDDIR := $(BASEDIR)/.build
4545
TARGET_BUILDDIR := $(BUILDDIR)/target
46-
ifeq ($(CROSS_COMPILE),1)
46+
ifeq ($(call fcheck,crosscompile,$(BUILD_FEATURES),ON),ON)
4747
HOST_BUILDDIR := $(BUILDDIR)/host
4848
else
4949
HOST_BUILDDIR := $(TARGET_BUILDDIR)

make/system.mk

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -224,16 +224,12 @@ ifndef PKGCONFIG_EXT
224224
PKGCONFIG_EXT := .pc
225225
endif
226226

227-
TEST := 0
228-
229227
# Set-up list of common variables
230228
COMMON_VARS = \
231229
ARCHITECTURE \
232230
ARCHITECTURE_FAMILY \
233231
ARCHITECTURE_CFLAGS \
234232
BUILD_FEATURES \
235-
CROSS_COMPILE \
236-
DEBUG \
237233
EXECUTABLE_EXT \
238234
EXPORT_SYMBOLS \
239235
HOST_ARCHITECTURE \
@@ -245,11 +241,7 @@ COMMON_VARS = \
245241
PKGCONFIG_EXT \
246242
PLATFORM \
247243
ROOT_ARTIFACT_ID \
248-
PROFILE \
249-
STATICLIB_EXT \
250-
STRICT \
251-
TEST \
252-
TRACE
244+
STATICLIB_EXT
253245

254246
.PHONY: sysvars
255247

@@ -260,9 +252,6 @@ sysvars:
260252
echo " ARCHITECTURE_CFLAGS compiler flags to specify architecture"
261253
echo " ARCHITECTURE_FAMILY compiler flags to specify architecture family"
262254
echo " ARCHITECTURE_LDFLAGS linker flags to specify architecture"
263-
echo " CROSS_COMPILE enable/disable cross-compilation"
264-
echo " DEBUG build with debug options"
265-
echo " DEVEL build with modules checked out for read/write URL"
266255
echo " EXECUTABLE_EXT file extension for executable files"
267256
echo " EXPORT_SYMBOLS make export symbols visible"
268257
echo " FEATURES list of features enabled in the build"
@@ -271,10 +260,6 @@ sysvars:
271260
echo " LIBRARY_PREFIX prefix used for library file"
272261
echo " PKGCONFIG_EXT file extension for pkgconfig files"
273262
echo " PLATFORM target software platform to perform build"
274-
echo " PROFILE build with profile options"
275263
echo " STATICLIB_EXT file extension for static library files"
276-
echo " STRICT strict compilation: treat compilation warnings as errors"
277264
echo " SUB_FEATURES list of features disabled in the build as a subtraction of default"
278-
echo " TEST use test build"
279-
echo " TRACE compile with additional trace information output"
280-
265+

make/tools.mk

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ PHP ?= $(X_PHP_TOOL)
6363
PKG_CONFIG ?= $(X_PKG_CONFIG)
6464

6565
# Define tool variables for host build
66-
ifeq ($(CROSS_COMPILE),1)
66+
ifeq ($(call fcheck,crosscompile,$(BUILD_FEATURES),ON),ON)
6767
HOST_CC ?= $(X_CC_TOOL)
6868
HOST_CXX ?= $(X_CXX_TOOL)
6969
HOST_AS ?= $(X_AS_TOOL)
@@ -118,37 +118,37 @@ else ifeq ($(PLATFORM),BSD)
118118
NOARCH_SO_FLAGS += -L/usr/local/lib
119119
endif
120120

121-
ifeq ($(DEBUG),1)
121+
ifeq ($(call fcheck,debug,$(BUILD_FEATURES),ON),ON)
122122
NOARCH_CFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
123123
NOARCH_CXXFLAGS += -Og -g3 -DLSP_DEBUG -falign-functions=16
124124
else
125125
NOARCH_CFLAGS += -O2
126126
NOARCH_CXXFLAGS += -O2
127127
endif
128128

129-
ifeq ($(ASAN),1)
129+
ifeq ($(call fcheck,asan,$(BUILD_FEATURES),ON),ON)
130130
NOARCH_CFLAGS += -fsanitize=address
131131
NOARCH_CXXFLAGS += -fsanitize=address
132132
NOARCH_EXE_FLAGS += -fsanitize=address
133133
NOARCH_SO_FLAGS += -fsanitize=address
134134
endif
135135

136-
ifeq ($(PROFILE),1)
136+
ifeq ($(call fcheck,profile,$(BUILD_FEATURES),ON),ON)
137137
NOARCH_CFLAGS += -pg -DLSP_PROFILE
138138
NOARCH_CXXFLAGS += -pg -DLSP_PROFILE
139139
endif
140140

141-
ifeq ($(TRACE),1)
141+
ifeq ($(call fcheck,trace,$(BUILD_FEATURES),ON),ON)
142142
NOARCH_CFLAGS += -DLSP_TRACE
143143
NOARCH_CXXFLAGS += -DLSP_TRACE
144144
endif
145145

146-
ifeq ($(STRICT),1)
146+
ifeq ($(call fcheck,strict,$(BUILD_FEATURES),ON),ON)
147147
NOARCH_CFLAGS += -Werror
148148
NOARCH_CXXFLAGS += -Werror
149149
endif
150150

151-
ifeq ($(TEST),1)
151+
ifeq ($(call fcheck,test,$(BUILD_FEATURES),ON),ON)
152152
NOARCH_CFLAGS += -DLSP_TESTING
153153
NOARCH_CXXFLAGS += -DLSP_TESTING
154154
EXPORT_SYMBOLS ?= 1
@@ -222,6 +222,7 @@ TOOL_VARS := \
222222

223223
.PHONY: toolvars
224224
toolvars:
225+
echo ""
225226
echo "List of tool variables:"
226227
echo " AR Archiver tool for target build"
227228
echo " AS Assembler tool for target build"
@@ -254,4 +255,13 @@ toolvars:
254255
echo " PKG_CONFIG Installed package management tool for target build"
255256
echo " SO_FLAGS Flags to link shared object/library files for target build"
256257
echo ""
257-
258+
echo "Available compilation FEATURES:"
259+
echo " asan Build with address sanitizer enabled"
260+
echo " crosscompile Build with additional debug information and debug logs enabled"
261+
echo " debug Build with additional debug information and debug logs enabled"
262+
echo " devel Use development (SSH) links for remote repositories instead of HTTPS"
263+
echo " profile Build with gprof profiling options"
264+
echo " strict Strict compilation: treat all compilation warning as errors"
265+
echo " test Enable tests and build test binary"
266+
echo " trace Enable output of additional trace logs"
267+
echo ""

0 commit comments

Comments
 (0)