1
1
.NOTPARALLEL :
2
2
3
+ # Pattern rule to print variables, e.g. make print-all_packages
4
+ print-% : FORCE
5
+ @echo ' $($*)'
6
+
3
7
SOURCES_PATH ?= $(BASEDIR ) /sources
4
8
BASE_CACHE ?= $(BASEDIR ) /built
5
9
FALLBACK_DOWNLOAD_PATH ?= https://downloads.getmonero.org/depends-sources
@@ -74,21 +78,6 @@ $(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host)
74
78
$(host_arch)_$(host_os)_host =$(host )
75
79
host_prefix =$($(host_arch ) _$(host_os ) _prefix)
76
80
build_prefix =$(host_prefix ) /native
77
- ifeq ($(host_os ) ,mingw32)
78
- host_cmake =Windows
79
- endif
80
- ifeq ($(host_os ) ,linux)
81
- host_cmake =Linux
82
- endif
83
- ifeq ($(host_os ) ,freebsd)
84
- host_cmake =FreeBSD
85
- endif
86
- ifeq ($(host_os ) ,darwin)
87
- host_cmake =Darwin
88
- endif
89
- ifeq ($(host_os ) ,android)
90
- host_cmake =Android
91
- endif
92
81
93
82
AT_$(V): =
94
83
AT_: =@
@@ -102,6 +91,7 @@ include builders/$(build_os).mk
102
91
include builders/default.mk
103
92
include packages/packages.mk
104
93
94
+ ifeq ($(GUIX_ENVIRONMENT ) ,)
105
95
build_id_string: =$(BUILD_ID_SALT )
106
96
build_id_string+ =$(shell $(build_CC ) --version 2>/dev/null)
107
97
build_id_string+ =$(shell $(build_AR ) --version 2>/dev/null)
@@ -115,6 +105,10 @@ $(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null)
115
105
$(host_arch)_$(host_os)_id_string+ =$(shell $(host_CXX ) --version 2>/dev/null)
116
106
$(host_arch)_$(host_os)_id_string+ =$(shell $(host_RANLIB ) --version 2>/dev/null)
117
107
$(host_arch)_$(host_os)_id_string+ =$(shell $(host_STRIP ) --version 2>/dev/null)
108
+ else
109
+ build_id_string: =$(realpath $(GUIX_ENVIRONMENT ) )
110
+ $(host_arch)_$(host_os)_id_string: =$(realpath $(GUIX_ENVIRONMENT ) )
111
+ endif
118
112
119
113
packages += $($(host_arch ) _$(host_os ) _packages) $($(host_os ) _packages)
120
114
native_packages += $($(host_arch ) _$(host_os ) _native_packages) $($(host_os ) _native_packages)
@@ -127,18 +121,8 @@ $(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain)
127
121
128
122
include funcs.mk
129
123
130
- CONF_PKGS := cmake-conf mxe-conf
131
-
132
- build-only-$(1 ) _$(3 ) : CMAKE_RUNRESULT_FILE = $(PREFIX ) /share/cmake/modules/TryRunResults.cmake
133
- build-only-$(1 ) _$(3 ) : CMAKE_TOOLCHAIN_FILE = $(PREFIX ) /$(3 ) /share/cmake/mxe-conf.cmake
134
- build-only-$(1 ) _$(3 ) : CMAKE_TOOLCHAIN_DIR = $(PREFIX ) /$(3 ) /share/cmake/mxe-conf.d
135
- build-only-$(1 ) _$(3 ) : CMAKE_STATIC_BOOL = $(if $(findstring shared,$(3 ) ) ,OFF,ON)
136
- build-only-$(1 ) _$(3 ) : CMAKE_SHARED_BOOL = $(if $(findstring shared,$(3 ) ) ,ON,OFF)
137
-
138
-
139
124
toolchain_path =$($($(host_arch ) _$(host_os ) _native_toolchain) _prefixbin)
140
- final_build_id_long+ =$(shell $(build_SHA256SUM ) config.site.in)
141
- final_build_id_long+ =$(shell $(build_SHA256SUM ) toolchain.cmake.in)
125
+ final_build_id_long+ =:[sha256sum]:$(shell $(build_SHA256SUM ) toolchain.cmake.in)
142
126
final_build_id+ =$(shell echo -n "$(final_build_id_long ) " | $(build_SHA256SUM ) | cut -c-$(HASH_LENGTH ) )
143
127
$(host_prefix ) /.stamp_$(final_build_id ) : $(native_packages ) $(packages )
144
128
$(AT ) rm -rf $(@D )
@@ -148,31 +132,11 @@ $(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
148
132
$(AT ) cd $(@D ) ; $(foreach package,$^ , tar xf $($(package ) _cached) ; )
149
133
$(AT ) touch $@
150
134
151
- $(host_prefix ) /share/config.site : config.site.in $(host_prefix ) /.stamp_$(final_build_id )
152
- $(AT ) @mkdir -p $(@D )
153
- $(AT ) sed -e ' s|@HOST@|$(host)|' \
154
- -e 's|@CC@|$(toolchain_path)$(host_CC)|' \
155
- -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \
156
- -e 's|@AR@|$(toolchain_path)$(host_AR)|' \
157
- -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
158
- -e 's|@NM@|$(toolchain_path)$(host_NM)|' \
159
- -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \
160
- -e 's|@build_os@|$(build_os)|' \
161
- -e 's|@host_os@|$(host_os)|' \
162
- -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \
163
- -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
164
- -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
165
- -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
166
- -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \
167
- -e 's|@debug@|$(DEBUG)|' \
168
- $< > $@
169
- $(AT)touch $@
170
-
171
135
$(host_prefix ) /share/toolchain.cmake : toolchain.cmake.in $(host_prefix ) /.stamp_$(final_build_id )
172
136
$(AT ) @mkdir -p $(@D )
173
137
$(AT ) sed -e ' s|@HOST@|$(host)|' \
174
- -e 's|@CC@|$(toolchain_path)$( host_CC)|' \
175
- -e 's|@CXX@|$(toolchain_path)$( host_CXX)|' \
138
+ -e 's|@CC@|$(host_CC)|' \
139
+ -e 's|@CXX@|$(host_CXX)|' \
176
140
-e 's|@AR@|$(toolchain_path)$(host_AR)|' \
177
141
-e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
178
142
-e 's|@NM@|$(toolchain_path)$(host_NM)|' \
@@ -187,7 +151,7 @@ $(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_
187
151
-e 's|@debug@|$(DEBUG)|' \
188
152
-e 's|@release_type@|$(cmake_release_type)|' \
189
153
-e 's|@build_tests@|$(build_tests)|' \
190
- -e 's|@depends @|$(host_cmake )|' \
154
+ -e 's|@cmake_system_name @|$($(host_os)_cmake_system )|' \
191
155
-e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\
192
156
-e 's|@arch@|$(host_arch)|'\
193
157
$< > $@
@@ -212,24 +176,27 @@ check-packages:
212
176
check-sources :
213
177
@$(foreach package,$(all_packages ) ,$(call check_or_remove_sources,$(package ) ) ;)
214
178
215
- $(host_prefix ) /share/config.site : check-packages
216
179
$(host_prefix ) /share/toolchain.cmake : check-packages
217
180
218
181
check-packages : check-sources
219
182
220
- install : check-packages $(host_prefix ) /share/config.site
221
183
install : check-packages $(host_prefix ) /share/toolchain.cmake
222
184
223
185
download-one : check-sources $(all_sources )
224
186
225
187
download-osx :
226
- @$(MAKE ) -s HOST=x86_64-apple-darwin11 download-one
188
+ @$(MAKE ) -s HOST=x86_64-apple-darwin download-one
227
189
download-linux :
228
190
@$(MAKE ) -s HOST=x86_64-unknown-linux-gnu download-one
229
191
download-win :
230
192
@$(MAKE ) -s HOST=x86_64-w64-mingw32 download-one
231
- download : download-osx download-linux download-win
193
+ download-freebsd :
194
+ @$(MAKE ) -s HOST=x86_64-unknown-freebsd download-one
195
+ download-android :
196
+ @$(MAKE ) -s HOST=aarch64-linux-android download-one
197
+ download : download-osx download-linux download-win download-freebsd download-android
232
198
233
199
$(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package))))
234
200
235
- .PHONY : install cached download-one download-osx download-linux download-win download check-packages check-sources
201
+ .PHONY : install cached download-one download-osx download-linux download-win download-freebsd download-android download check-packages check-sources
202
+ .PHONY : FORCE
0 commit comments