@@ -7,7 +7,7 @@ include $(JULIAHOME)/stdlib/stdlib.mk
77default : sysimg-$(JULIA_BUILD_MODE ) # contains either "debug" or "release"
88all : sysimg-release sysimg-debug
99basecompiler-ji : $(build_private_libdir ) /basecompiler.ji
10- sysimg-ji : $(build_private_libdir ) /sys .ji
10+ sysimg-ji : $(build_private_libdir ) /sysbase .ji
1111sysimg-bc : $(build_private_libdir ) /sys-bc.a
1212sysimg-release : $(build_private_libdir ) /sys.$(SHLIB_EXT )
1313sysimg-debug : $(build_private_libdir ) /sys-debug.$(SHLIB_EXT )
@@ -69,28 +69,45 @@ RELDATADIR := $(call rel_path,$(JULIAHOME)/base,$(build_datarootdir))/ # <-- mak
6969
7070$(build_private_libdir ) /basecompiler.ji : $(COMPILER_SRCS )
7171 @$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
72- JULIA_NUM_THREADS=1 $(call spawn,$(JULIA_EXECUTABLE ) ) -C " $( JULIA_CPU_TARGET) " $(HEAPLIM ) --output-ji $(call cygpath_w,$@ ) .tmp \
73- --startup-file=no --warn-overwrite=yes --depwarn=error -g$(BOOTSTRAP_DEBUG_LEVEL ) -O1 Base_compiler.jl --buildroot $(RELBUILDROOT ) --dataroot $(RELDATADIR ) )
74- @mv $@ .tmp $@
75-
76- $(build_private_libdir ) /basecompiler-o.a $(build_private_libdir ) /basecompiler-bc.a : $(build_private_libdir ) /basecompiler-% .a : $(COMPILER_SRCS )
77- @$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
78- JULIA_NUM_THREADS=1 $(call spawn,$(JULIA_EXECUTABLE ) ) -C " $( JULIA_CPU_TARGET) " $(HEAPLIM ) --output-$* $(call cygpath_w,$@ ) .tmp \
72+ JULIA_NUM_THREADS=1 $(call spawn,$(JULIA_EXECUTABLE ) ) $(HEAPLIM ) --output-ji $(call cygpath_w,$@ ) .tmp \
7973 --startup-file=no --warn-overwrite=yes -g$(BOOTSTRAP_DEBUG_LEVEL ) -O1 Base_compiler.jl --buildroot $(RELBUILDROOT ) --dataroot $(RELDATADIR ) )
8074 @mv $@ .tmp $@
8175
82- $(build_private_libdir ) /sys.ji : $(build_private_libdir ) /basecompiler.$(SHLIB_EXT ) $(JULIAHOME ) /VERSION $(BASE_SRCS ) $(STDLIB_SRCS )
83- @$(call PRINT_JULIA, cd $(JULIAHOME ) /base && \
84- if ! JULIA_BINDIR=$( call cygpath_w,$( build_bindir) ) WINEPATH=" $( call cygpath_w,$( build_bindir) ) ;$$ WINEPATH" \
85- JULIA_NUM_THREADS=1 $(call spawn, $(JULIA_EXECUTABLE ) ) -g1 -O1 -C " $( JULIA_CPU_TARGET) " $(HEAPLIM ) --output-ji $(call cygpath_w,$@ ) .tmp $(JULIA_SYSIMG_BUILD_FLAGS ) \
86- --startup-file=no --warn-overwrite=yes --depwarn=error --sysimage $(call cygpath_w,$< ) sysimg.jl --buildroot $(RELBUILDROOT ) --dataroot $(RELDATADIR ) ; then \
87- echo ' *** This error might be fixed by running `make clean`. If the error persists$(COMMA) try `make cleanall`. ***' ; \
76+ define base_builder
77+ $$(build_private_libdir ) /basecompiler$1-o.a $$(build_private_libdir ) /basecompiler$1-bc.a : $$(build_private_libdir ) /basecompiler$1-%.a : $(COMPILER_SRCS )
78+ @$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
79+ WINEPATH="$$(call cygpath_w,$$(build_bindir ) ) ;$$$$WINEPATH" \
80+ JULIA_NUM_THREADS=1 \
81+ $$(call spawn, $3) $2 -C "$$(JULIA_CPU_TARGET ) " $$(HEAPLIM ) --output-$$* $$(call cygpath_w,$$@ ) .tmp \
82+ --startup-file=no --warn-overwrite=yes -g$$(BOOTSTRAP_DEBUG_LEVEL ) Base_compiler.jl --buildroot $$(RELBUILDROOT ) --dataroot $$(RELDATADIR ) )
83+ @mv $$@ .tmp $$@
84+ $$(build_private_libdir ) /sysbase$1.ji: $$(build_private_libdir ) /basecompiler$1.$$(SHLIB_EXT ) $$(JULIAHOME ) /VERSION $$(BASE_SRCS ) $$(STDLIB_SRCS )
85+ @$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
86+ if ! JULIA_BINDIR=$$(call cygpath_w,$$(build_bindir ) ) \
87+ WINEPATH="$$(call cygpath_w,$$(build_bindir ) ) ;$$$$WINEPATH" \
88+ JULIA_NUM_THREADS=1 \
89+ $$(call spawn, $$(JULIA_EXECUTABLE ) ) -g1 $2 -C "$$(JULIA_CPU_TARGET ) " $$(HEAPLIM ) --output-ji $$(call cygpath_w,$$@ ) .tmp $$(JULIA_SYSIMG_BUILD_FLAGS ) \
90+ --startup-file=no --warn-overwrite=yes --sysimage $$(call cygpath_w,$$< ) sysimg.jl --buildroot $$(RELBUILDROOT ) --dataroot $$(RELDATADIR ) ; then \
91+ echo '*** This error might be fixed by running `make clean`. If the error persists$$(COMMA ) try `make cleanall`. *** '; \
8892 false; \
8993 fi )
90- @mv $@ .tmp $@
94+ @mv $$@ .tmp $$@
95+ .SECONDARY: $$(build_private_libdir ) /basecompiler$1-o.a $$(build_private_libdir ) /basecompiler$1-bc.a $$(build_private_libdir ) /sysbase$1.ji # request Make to keep these files around
96+ endef
9197
9298define sysimg_builder
93- $$(build_private_libdir ) /sys$1-o.a $$(build_private_libdir ) /sys$1-bc.a : $$(build_private_libdir ) /sys$1-%.a : $$(build_private_libdir ) /sys.ji $$(JULIAHOME ) /contrib/generate_precompile.jl
99+ $$(build_private_libdir ) /sysbase$1-o.a $$(build_private_libdir ) /sysbase$1-bc.a : $$(build_private_libdir ) /sysbase$1-%.a : $$(build_private_libdir ) /basecompiler$1.$$(SHLIB_EXT ) $$(JULIAHOME ) /VERSION $$(BASE_SRCS ) $$(STDLIB_SRCS )
100+ @$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
101+ if ! JULIA_BINDIR=$$(call cygpath_w,$$(build_bindir ) ) \
102+ WINEPATH="$$(call cygpath_w,$$(build_bindir ) ) ;$$$$WINEPATH" \
103+ JULIA_NUM_THREADS=1 \
104+ $$(call spawn, $$(JULIA_EXECUTABLE ) ) -g1 $2 -C "$$(JULIA_CPU_TARGET ) " $$(HEAPLIM ) --output-$$* $$(call cygpath_w,$$@ ) .tmp $$(JULIA_SYSIMG_BUILD_FLAGS ) \
105+ --startup-file=no --warn-overwrite=yes --sysimage $$(call cygpath_w,$$< ) sysimg.jl --buildroot $$(RELBUILDROOT ) --dataroot $$(RELDATADIR ) ; then \
106+ echo '*** This error might be fixed by running `make clean`. If the error persists$$(COMMA ) try `make cleanall`. *** '; \
107+ false; \
108+ fi )
109+ @mv $$@ .tmp $$@
110+ $$(build_private_libdir ) /sys$1-o.a $$(build_private_libdir ) /sys$1-bc.a : $$(build_private_libdir ) /sys$1-%.a : $$(build_private_libdir ) /sysbase$1.$$(SHLIB_EXT ) $$(JULIAHOME ) /contrib/generate_precompile.jl
94111 @$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
95112 if ! JULIA_BINDIR=$$(call cygpath_w,$(build_bindir ) ) \
96113 WINEPATH="$$(call cygpath_w,$$(build_bindir ) ) ;$$$$WINEPATH" \
@@ -105,6 +122,9 @@ $$(build_private_libdir)/sys$1-o.a $$(build_private_libdir)/sys$1-bc.a : $$(buil
105122 fi )
106123 @mv $$@ .tmp $$@
107124.SECONDARY: $$(build_private_libdir ) /sys$1-o.a $(build_private_libdir ) /sys$1-bc.a # request Make to keep these files around
125+ .SECONDARY: $$(build_private_libdir ) /sysbase$1-o.a $(build_private_libdir ) /sysbase$1-bc.a # request Make to keep these files around
108126endef
127+ $(eval $(call base_builder,,-O1,$(JULIA_EXECUTABLE_release)))
128+ $(eval $(call base_builder,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
109129$(eval $(call sysimg_builder,,-O3,$(JULIA_EXECUTABLE_release)))
110130$(eval $(call sysimg_builder,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
0 commit comments