@@ -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 \ 
72+ 	JULIA_NUM_THREADS=1 $(call  spawn,$(JULIA_EXECUTABLE ) )  $(HEAPLIM )  --output-ji $(call  cygpath_w,$@ ) .tmp \ 
7373		--startup-file=no --warn-overwrite=yes -g$(BOOTSTRAP_DEBUG_LEVEL )  -O1 Base_compiler.jl --buildroot $(RELBUILDROOT )  --dataroot $(RELDATADIR ) )
7474	@mv $@ .tmp $@ 
7575
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 \ 
79- 		--startup-file=no --warn-overwrite=yes -g$(BOOTSTRAP_DEBUG_LEVEL )  -O1 Base_compiler.jl --buildroot $(RELBUILDROOT )  --dataroot $(RELDATADIR ) )
80- 	@mv $@ .tmp $@ 
81- 
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) ) " $( 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 --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