@@ -86,19 +86,35 @@ GCC_DEP = @SAGE_GCC_DEP@
86
86
87
87
@SAGE_PACKAGE_DEPENDENCIES@
88
88
89
+ # Installation trees for all packages, in the format:
90
+ #
91
+ # - for a non-Python package:
92
+ #
93
+ # trees_<pkgname1> = SAGE_LOCAL
94
+ #
95
+ # - for a Python package:
96
+ #
97
+ # trees_<pkgname2> = SAGE_VENV
98
+
99
+ @SAGE_PACKAGE_TREES@
100
+
89
101
# All standard packages
90
102
STANDARD_PACKAGES = @SAGE_STANDARD_PACKAGES@
91
103
STANDARD_PACKAGE_INSTS = \
92
104
$(foreach pkgname,$(STANDARD_PACKAGES ) ,$(inst_$(pkgname ) ) )
93
105
94
- # All optional installed packages (triggers the auto-update)
106
+ # Optional/experimental packages to be installed
95
107
OPTIONAL_INSTALLED_PACKAGES = @SAGE_OPTIONAL_INSTALLED_PACKAGES@
96
- OPTIONAL_INSTALLED_PACKAGE_INSTS = \
97
- $(foreach pkgname,$(OPTIONAL_INSTALLED_PACKAGES ) ,$(inst_$(pkgname ) ) )
98
108
99
- # All previously installed optional packages that are to be uninstalled
109
+ # All packages to be installed
110
+ INSTALLED_PACKAGES = $(STANDARD_PACKAGES ) $(OPTIONAL_INSTALLED_PACKAGES )
111
+ INSTALLED_PACKAGE_INSTS = \
112
+ $(foreach pkgname,$(INSTALLED_PACKAGES ) ,$(inst_$(pkgname ) ) )
113
+
114
+ # All previously installed packages that are to be uninstalled
100
115
OPTIONAL_CLEANED_PACKAGES = @SAGE_OPTIONAL_CLEANED_PACKAGES@
101
- OPTIONAL_CLEANED_PACKAGES_CLEANS = $(OPTIONAL_CLEANED_PACKAGES:%=%-clean )
116
+ CLEANED_PACKAGES = $(OPTIONAL_CLEANED_PACKAGES )
117
+ CLEANED_PACKAGES_CLEANS = $(CLEANED_PACKAGES:%=%-clean )
102
118
103
119
# All packages which should be downloaded
104
120
SDIST_PACKAGES = @SAGE_SDIST_PACKAGES@
@@ -146,6 +162,18 @@ $(INST)/.dummy:
146
162
touch $@
147
163
148
164
165
+ # Filtered by installation tree
166
+ $(foreach tree,SAGE_LOCAL SAGE_VENV, \
167
+ $(eval $(tree)_INSTALLED_PACKAGE_INSTS = \
168
+ $(foreach pkgname,$(INSTALLED_PACKAGES), \
169
+ $(if $(findstring $(tree),$(trees_$(pkgname))), \
170
+ $(inst_$(pkgname))))) \
171
+ $(eval $(tree)_CLEANED_PACKAGE_CLEANS = \
172
+ $(foreach pkgname,$(INSTALLED_PACKAGES), \
173
+ $(if $(findstring $(tree),$(trees_$(pkgname))), \
174
+ $(inst_$(pkgname))))))
175
+
176
+
149
177
# ##############################################################################
150
178
151
179
# Silent rules
@@ -211,9 +239,19 @@ base-toolchain: _clean-broken-gcc base
211
239
# All targets except for the base packages
212
240
all-sage : \
213
241
sagelib \
214
- $(STANDARD_PACKAGE_INSTS ) \
215
- $(OPTIONAL_INSTALLED_PACKAGE_INSTS ) \
216
- $(OPTIONAL_CLEANED_PACKAGES_CLEANS)
242
+ $(INSTALLED_PACKAGE_INSTS ) \
243
+ $(CLEANED_PACKAGES_CLEANS)
244
+
245
+ # Same but filtered by installation trees:
246
+ all-build-local : toolchain-deps
247
+ +$(MAKE_REC ) all-sage-local
248
+
249
+ all-sage-local : $(SAGE_LOCAL_INSTALLED_PACKAGE_INSTS ) $(SAGE_LOCAL_CLEANED_PACKAGES_CLEANS )
250
+
251
+ all-build-venv : toolchain-deps
252
+ +$(MAKE_REC ) all-sage-venv
253
+
254
+ all-sage-venv : $(SAGE_VENV_INSTALLED_PACKAGE_INSTS ) $(SAGE_VENV_CLEANED_PACKAGES_CLEANS )
217
255
218
256
# Download all packages which should be inside an sdist tarball (the -B
219
257
# option to make forces all targets to be built unconditionally)
0 commit comments