@@ -92,18 +92,23 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps julia_flisp.boot.in
92
92
julia-ui-release julia-ui-debug : julia-ui-% : julia-src-%
93
93
@$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) /ui julia-$*
94
94
95
- julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE ) $(build_prefix ) /.examples
96
- @$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE )
95
+ julia-sysimg : julia-base julia-ui-$(JULIA_BUILD_MODE ) $(build_prefix ) /.examples
96
+ @$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE )
97
+ julia-sysimg-all : julia-sysimg
98
+ @$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys-all.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE )
97
99
98
- julia-sysimg-release : julia-inference julia-ui-release
100
+ julia-sysimg-release : julia-sysimg julia-ui-release
99
101
@$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys.$(SHLIB_EXT ) JULIA_BUILD_MODE=release
100
-
101
- julia-sysimg-debug : julia-inference julia-ui-debug
102
+ julia-sysimg-all-release : julia-sysimg-all julia-ui-release
103
+ @$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys-all.$(SHLIB_EXT ) JULIA_BUILD_MODE=release
104
+ julia-sysimg-debug : julia-sysimg julia-ui-debug
102
105
@$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys-debug.$(SHLIB_EXT ) JULIA_BUILD_MODE=debug
106
+ julia-sysimg-all-debug : julia-sysimg-all julia-ui-debug
107
+ @$(MAKE ) $(QUIET_MAKE ) -C $(BUILDROOT ) $(build_private_libdir ) /sys-all-debug.$(SHLIB_EXT ) JULIA_BUILD_MODE=debug
103
108
104
109
julia-debug julia-release : julia-% : julia-ui-% julia-sysimg-% julia-symlink julia-libccalltest
105
-
106
- debug release : % : julia-%
110
+ julia-all-debug julia-all-release : julia-all- % : julia-ui- % julia-sysimg-all- % julia-symlink julia-libccalltest
111
+ debug release all-debug all-release : % : julia-%
107
112
108
113
julia-genstdlib : julia-sysimg-$(JULIA_BUILD_MODE )
109
114
@$(call PRINT_JULIA, $(JULIA_EXECUTABLE ) $(call cygpath_w, $(JULIAHOME ) /doc/genstdlib.jl) )
@@ -212,21 +217,33 @@ BASE_SRCS := $(shell find $(JULIAHOME)/base -name \*.jl)
212
217
213
218
$(build_private_libdir ) /inference.ji : $(CORE_SRCS ) | $(build_private_libdir )
214
219
@$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
215
- $(call spawn,$(JULIA_EXECUTABLE ) ) -C $(JULIA_CPU_TARGET ) --output-ji $(call cygpath_w,$@ ) -f \
220
+ $(call spawn,$(JULIA_EXECUTABLE ) ) -O0 - C $(JULIA_CPU_TARGET ) --output-ji $(call cygpath_w,$@ ) -f \
216
221
coreimg.jl)
217
222
223
+ $(build_private_libdir ) /sys.ji : $(build_private_libdir ) /inference.ji $(JULIAHOME ) /VERSION $(BASE_SRCS )
224
+ @$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
225
+ $(call spawn,$(JULIA_EXECUTABLE ) ) -O0 -C $(JULIA_CPU_TARGET ) --output-ji $(call cygpath_w,$@ ) $(JULIA_SYSIMG_BUILD_FLAGS ) -f \
226
+ -J $(call cygpath_w,$< ) sysimg.jl $(RELBUILDROOT ) \
227
+ || { echo ' *** This error is usually fixed by running `make clean`. If the error persists$$(COMMA) try `make cleanall`. ***' && false ; } )
228
+
229
+ $(build_private_libdir ) /sys-all.ji : $(build_private_libdir ) /sys.ji
230
+ @$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
231
+ $(call spawn,$(JULIA_EXECUTABLE ) ) -O0 -C $(JULIA_CPU_TARGET ) --output-ji $(call cygpath_w,$@ ) --compile=all -f \
232
+ -J $(call cygpath_w,$< ) -e nothing)
233
+
218
234
RELBUILDROOT := $(shell $(JULIAHOME ) /contrib/relative_path.sh "$(JULIAHOME ) /base" "$(BUILDROOT ) /base/")
219
235
COMMA: =,
220
236
define sysimg_builder
221
- $$(build_private_libdir ) /sys$1.o: $$(build_private_libdir ) /inference.ji $$(JULIAHOME ) /VERSION $$(BASE_SRCS )
237
+ $$(build_private_libdir ) /sys$1$2.bc $$(build_private_libdir ) /sys$1$2.o: $$(build_private_libdir ) /sys$1$2.% : $$(build_private_libdir ) /sys$1.ji
222
238
@$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
223
- $$(call spawn,$3) $2 -C $$(JULIA_CPU_TARGET ) --output-o $$(call cygpath_w,$$@ ) $$(JULIA_SYSIMG_BUILD_FLAGS ) -f \
224
- -J $$(call cygpath_w,$$< ) sysimg.jl $$(RELBUILDROOT ) \
225
- || { echo '*** This error is usually fixed by running `make clean`. If the error persists$$(COMMA ) try `make cleanall`. *** ' && false; } )
226
- .SECONDARY: $(build_private_libdir ) /sys$1.o
239
+ $$(call spawn,$4) $3 -C $$(JULIA_CPU_TARGET ) --output-$$* $$(call cygpath_w,$$@ ) $$(JULIA_SYSIMG_BUILD_FLAGS ) -f \
240
+ -J $$(call cygpath_w,$$< ) -e nothing)
241
+ .SECONDARY: $(build_private_libdir ) /sys$1$2.o $(build_private_libdir ) /sys$1$2.bc
227
242
endef
228
- $(eval $(call sysimg_builder,,-O3,$(JULIA_EXECUTABLE_release)))
229
- $(eval $(call sysimg_builder,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
243
+ $(eval $(call sysimg_builder,,,-O3,$(JULIA_EXECUTABLE_release)))
244
+ $(eval $(call sysimg_builder,,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
245
+ $(eval $(call sysimg_builder,-all,,--compile=all -O3,$(JULIA_EXECUTABLE_release)))
246
+ $(eval $(call sysimg_builder,-all,-debug,--compile=all -O0,$(JULIA_EXECUTABLE_debug)))
230
247
231
248
$(build_bindir ) /stringreplace : $(JULIAHOME ) /contrib/stringreplace.c | $(build_bindir )
232
249
@$(call PRINT_CC, $(HOSTCC ) -o $(build_bindir ) /stringreplace $(JULIAHOME ) /contrib/stringreplace.c)
@@ -365,7 +382,8 @@ endif
365
382
endif
366
383
$(INSTALL_F) $(addprefix $(JULIAHOME)/,src/julia.h src/julia_threads.h src/julia_version.h src/support/*.h) $(DESTDIR)$(includedir)/julia
367
384
# Copy system image
368
- -$(INSTALL_F) $(build_private_libdir)/sys.ji $(DESTDIR)$(private_libdir)
385
+ -$(INSTALL_M) $(build_private_libdir)/sys-all.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
386
+ -$(INSTALL_M) $(build_private_libdir)/sys-all-debug.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
369
387
$(INSTALL_M) $(build_private_libdir)/sys.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
370
388
$(INSTALL_M) $(build_private_libdir)/sys-debug.$(SHLIB_EXT) $(DESTDIR)$(private_libdir)
371
389
# Copy in system image build script
@@ -640,7 +658,7 @@ LLVM_SIZE := $(build_bindir)/llvm-size$(EXE)
640
658
endif
641
659
build-stats :
642
660
@echo $(JULCOLOR ) ' ==> ./julia binary sizes' $(ENDCOLOR )
643
- $(call spawn,$(LLVM_SIZE ) -A $(build_private_libdir ) /sys.$(SHLIB_EXT ) $(build_shlibdir ) /libjulia.$(SHLIB_EXT ) $(build_bindir ) /julia$(EXE ) )
661
+ $(call spawn,$(LLVM_SIZE ) -A $(build_private_libdir ) /sys* .$(SHLIB_EXT ) $(build_shlibdir ) /libjulia.$(SHLIB_EXT ) $(build_bindir ) /julia$(EXE ) )
644
662
@echo $(JULCOLOR ) ' ==> ./julia launch speedtest' $(ENDCOLOR )
645
663
@time $(call spawn,$(build_bindir ) /julia$(EXE ) -e '')
646
664
@time $(call spawn,$(build_bindir ) /julia$(EXE ) -e '')
0 commit comments