1
1
#
2
- # Copyright (C) 2020 Linux Studio Plugins Project <https://lsp-plug.in/>
3
- # (C) 2020 Vladimir Sadovnikov <sadko4u@gmail.com>
2
+ # Copyright (C) 2024 Linux Studio Plugins Project <https://lsp-plug.in/>
3
+ # (C) 2024 Vladimir Sadovnikov <sadko4u@gmail.com>
4
4
#
5
5
# This file is part of lsp-plugin-shared
6
6
#
@@ -21,45 +21,35 @@ ifneq ($(VERBOSE),1)
21
21
.SILENT :
22
22
endif
23
23
24
- # Definitions
25
- PREFIX := /usr/local
26
- LIBDIR := $(PREFIX ) /lib
27
- BINDIR := $(PREFIX ) /bin
28
- SHAREDDIR := $(PREFIX ) /share
29
- INCDIR := $(PREFIX ) /include
30
- ETCDIR := /etc
31
24
BASEDIR := $(CURDIR )
32
25
ROOTDIR := $(CURDIR )
33
- BUILDDIR := $(BASEDIR ) /.build
34
- TARGET_BUILDDIR := $(BUILDDIR ) /target
35
- HOST_BUILDDIR := $(BUILDDIR ) /host
36
- MODULES := $(BASEDIR ) /modules
37
- CONFIG := $(BASEDIR ) /.config.mk
38
26
TEST := 0
39
27
DEBUG := 0
40
28
PROFILE := 0
41
29
TRACE := 0
42
30
43
- ifeq ($(DEVEL ) ,1)
44
- X_URL_SUFFIX = _RW
45
- else
46
- X_URL_SUFFIX = _RO
47
- endif
48
-
31
+ # Configure system settings
49
32
include $(BASEDIR ) /project.mk
50
33
include $(BASEDIR ) /make/functions.mk
51
34
include $(BASEDIR ) /make/system.mk
35
+ include $(BASEDIR ) /make/paths.mk
52
36
include $(BASEDIR ) /make/tools.mk
53
37
include $(BASEDIR ) /modules.mk
54
38
include $(BASEDIR ) /dependencies.mk
55
39
40
+ ifeq ($(DEVEL ) ,1)
41
+ X_URL_SUFFIX = _RW
42
+ else
43
+ X_URL_SUFFIX = _RO
44
+ endif
45
+
56
46
# Compute the full list of dependencies
57
47
MERGED_DEPENDENCIES := \
58
48
$(DEPENDENCIES ) \
59
49
$(TEST_DEPENDENCIES )
60
50
UNIQ_MERGED_DEPENDENCIES := $(call uniq, $(MERGED_DEPENDENCIES ) )
61
51
DEPENDENCIES = $(UNIQ_MERGED_DEPENDENCIES )
62
- FEATURES := $(call uniq, $(call subtraction,$(SUB_FEATURES ) ,$(DEFAULT_FEATURES ) $(ADD_FEATURES ) ) )
52
+ FEATURES := $(sort $(call subtraction,$(SUB_FEATURES ) ,$(DEFAULT_FEATURES ) $(ADD_FEATURES ) ) )
63
53
64
54
# Determine versions
65
55
ifeq ($(findstring -devel,$(ARTIFACT_VERSION ) ) ,-devel)
@@ -127,19 +117,23 @@ define _modconfig =
127
117
$(if $($(name ) _TEST) ,, $(eval $(name ) _TEST := $($(name ) _PATH) /test) )
128
118
$(if $($(name ) _TESTING) ,, $(eval $(name ) _TESTING := 0) )
129
119
$(if $($(name ) _BIN) ,, $(eval $(name ) _BIN := $(TARGET_BUILDDIR ) /$($(name ) _NAME) ) )
130
- $(if $($(name ) _CFLAGS) ,, $(eval $(name ) _CFLAGS := "-I \"$($(name ) _INC) \"" -D$(name ) _BUILTIN$(if $(publisher ) , -D$(name ) _PUBLISHER) ) )
120
+ $(if $($(name ) _CFLAGS) ,, $(eval $(name ) _CFLAGS := "$( if $( $( name ) _INC_OPT) , $( $( name ) _INC_OPT) ,-I ) \"$($(name ) _INC) \"" -D$(name ) _BUILTIN$(if $(publisher ) , -D$(name ) _PUBLISHER) ) )
131
121
$(if $($(name ) _LDLAGS) ,, $(eval $(name ) _LDFLAGS :=) )
132
122
$(if $($(name ) _OBJ) ,, $(eval $(name ) _OBJ := "$($(name ) _BIN) /$($(name ) _NAME) .o") )
133
123
$(if $($(name ) _OBJ_TEST) ,, $(eval $(name ) _OBJ_TEST := "$($(name ) _BIN) /$($(name ) _NAME) -test.o") )
134
124
$(if $($(name ) _MFLAGS) ,, $(eval $(name ) _MFLAGS := $(if $(publisher ) ,,"-D$(name ) _BUILTIN -fvisibility=hidden") ) )
135
125
126
+ $(if $(HOST_$(name ) _NAME ) ,, $(eval HOST_$(name ) _NAME := $($(name ) _NAME) ) )
127
+ $(if $(HOST_$(name ) _DESC ) ,, $(eval HOST_$(name ) _DESC := $($(name ) _DESC) ) )
128
+ $(if $(HOST_$(name ) _URL ) ,, $(eval HOST_$(name ) _URL := $($(name ) _URL$(X_URL_SUFFIX ) ) ) )
129
+
136
130
$(if $(HOST_$(name ) _PATH ) ,, $(eval HOST_$(name ) _PATH := $(MODULES ) /$($(name ) _NAME) ) )
137
131
$(if $(HOST_$(name ) _INC ) ,, $(eval HOST_$(name ) _INC := $(HOST_$(name ) _PATH ) /include) )
138
132
$(if $(HOST_$(name ) _SRC ) ,, $(eval HOST_$(name ) _SRC := $(HOST_$(name ) _PATH ) /src) )
139
133
$(if $(HOST_$(name ) _TEST ) ,, $(eval HOST_$(name ) _TEST := $(HOST_$(name ) _PATH ) /test) )
140
134
$(if $(HOST_$(name ) _TESTING ) ,, $(eval HOST_$(name ) _TESTING := 0) )
141
135
$(if $(HOST_$(name ) _BIN ) ,, $(eval HOST_$(name ) _BIN := $(HOST_BUILDDIR ) /$($(name ) _NAME) ) )
142
- $(if $(HOST_$(name ) _CFLAGS ) ,, $(eval HOST_$(name ) _CFLAGS := "-I \"$($(name ) _INC) \"" -D$(name ) _BUILTIN$(if $(publisher ) , -D$(name ) _PUBLISHER) ) )
136
+ $(if $(HOST_$(name ) _CFLAGS ) ,, $(eval HOST_$(name ) _CFLAGS := "$( if $( $( name ) _INC_OPT) , $( $( name ) _INC_OPT) ,-I ) \"$($(name ) _INC) \"" -D$(name ) _BUILTIN$(if $(publisher ) , -D$(name ) _PUBLISHER) ) )
143
137
$(if $(HOST_$(name ) _LDLAGS ) ,, $(eval HOST_$(name ) _LDFLAGS :=) )
144
138
$(if $(HOST_$(name ) _OBJ ) ,, $(eval HOST_$(name ) _OBJ := "$(HOST_$(name ) _BIN ) /$($(name ) _NAME) .o") )
145
139
$(if $(HOST_$(name ) _OBJ_TEST ) ,,$(eval HOST_$(name ) _OBJ_TEST:= "$(HOST_$(name ) _BIN ) /$($(name ) _NAME) -test.o") )
@@ -168,13 +162,17 @@ define hdrconfig =
168
162
$(if $($(name ) _PATH) ,, $(eval $(name ) _PATH := $(MODULES ) /$($(name ) _NAME) ) )
169
163
$(if $($(name ) _INC) ,, $(eval $(name ) _INC := $($(name ) _PATH) /include) )
170
164
$(if $($(name ) _TESTING) ,, $(eval $(name ) _TESTING := 0) )
171
- $(if $($(name ) _CFLAGS) ,, $(eval $(name ) _CFLAGS := "-I \"$($(name ) _INC) \""$(if $(publisher ) , "-D$(name ) _PUBLISHER") ) )
165
+ $(if $($(name ) _CFLAGS) ,, $(eval $(name ) _CFLAGS := "$( if $( $( name ) _INC_OPT) , $( $( name ) _INC_OPT) ,-I ) \"$($(name ) _INC) \""$(if $(publisher ) , "-D$(name ) _PUBLISHER") ) )
172
166
$(if $($(name ) _MFLAGS) ,, $(eval $(name ) _MFLAGS := "-D$(name ) _BUILTIN -fvisibility=hidden") )
167
+
168
+ $(if $(HOST_$(name ) _NAME ) ,, $(eval HOST_$(name ) _NAME := $($(name ) _NAME) ) )
169
+ $(if $(HOST_$(name ) _DESC ) ,, $(eval HOST_$(name ) _DESC := $($(name ) _DESC) ) )
170
+ $(if $(HOST_$(name ) _URL ) ,, $(eval HOST_$(name ) _URL := $($(name ) _URL$(X_URL_SUFFIX ) ) ) )
173
171
174
172
$(if $(HOST_$(name ) _PATH ) ,, $(eval HOST_$(name ) _PATH := $(MODULES ) /$($(name ) _NAME) ) )
175
173
$(if $(HOST_$(name ) _INC ) ,, $(eval HOST_$(name ) _INC := $(HOST_$(name ) _PATH ) /include) )
176
174
$(if $(HOST_$(name ) _TESTING ) ,, $(eval HOST_$(name ) _TESTING := 0) )
177
- $(if $(HOST_$(name ) _CFLAGS ) ,, $(eval HOST_$(name ) _CFLAGS := "-I \"$(HOST_$(name ) _INC ) \""$(if $(publisher ) , "-D$(name ) _PUBLISHER") ) )
175
+ $(if $(HOST_$(name ) _CFLAGS ) ,, $(eval HOST_$(name ) _CFLAGS := "$( if $( $( name ) _INC_OPT) , $( $( name ) _INC_OPT) ,-I ) \"$(HOST_$(name ) _INC ) \""$(if $(publisher ) , "-D$(name ) _PUBLISHER") ) )
178
176
$(if $(HOST_$(name ) _MFLAGS ) ,, $(eval HOST_$(name ) _MFLAGS := "-D$(name ) _BUILTIN -fvisibility=hidden") )
179
177
endef
180
178
@@ -220,6 +218,7 @@ OVERALL_DEPS := $(call uniq,$(DEPENDENCIES) $(ARTIFACT_ID))
220
218
__tmp := $(foreach dep,$(OVERALL_DEPS ) ,$(call vardef, $(dep ) ) )
221
219
222
220
CONFIG_VARS = \
221
+ $(PATH_VARS ) \
223
222
$(COMMON_VARS ) \
224
223
$(TOOL_VARS ) \
225
224
$(foreach name, $(OVERALL_DEPS ) , \
@@ -242,6 +241,8 @@ CONFIG_VARS = \
242
241
$(name ) _OBJ \
243
242
$(name ) _OBJ_TEST \
244
243
\
244
+ HOST_$(name ) _NAME \
245
+ HOST_$(name ) _DESC \
245
246
HOST_$(name ) _PATH \
246
247
HOST_$(name ) _INC \
247
248
HOST_$(name ) _SRC \
@@ -267,11 +268,12 @@ $(CONFIG_VARS): prepare
267
268
echo " $( @) =$( $( @) ) " >> " $( CONFIG) "
268
269
269
270
config : $(CONFIG_VARS )
270
- echo " Architecture: $( ARCHITECTURE_FAMILY) /$( ARCHITECTURE) ($( ARCHITECTURE_CFLAGS) )"
271
- echo " Features: $( FEATURES) "
271
+ echo " Host architecture: $( HOST_ARCHITECTURE_FAMILY) /$( HOST_ARCHITECTURE) ($( HOST_ARCHITECTURE_CFLAGS) )"
272
+ echo " Architecture: $( ARCHITECTURE_FAMILY) /$( ARCHITECTURE) ($( ARCHITECTURE_CFLAGS) )"
273
+ echo " Features: $( FEATURES) "
272
274
echo " Configured OK"
273
275
274
- help : | toolvars sysvars
276
+ help : | pathvars toolvars sysvars
275
277
echo " "
276
278
echo " List of variables for each dependency:"
277
279
echo " <ARTIFACT>_BIN location to put all binaries when building artifact"
0 commit comments