@@ -7,7 +7,7 @@ include $(JULIAHOME)/stdlib/stdlib.mk
7
7
default : sysimg-$(JULIA_BUILD_MODE ) # contains either "debug" or "release"
8
8
all : sysimg-release sysimg-debug
9
9
basecompiler-ji : $(build_private_libdir ) /basecompiler.ji
10
- sysimg-ji : $(build_private_libdir ) /sys .ji
10
+ sysimg-ji : $(build_private_libdir ) /sysbase .ji
11
11
sysimg-bc : $(build_private_libdir ) /sys-bc.a
12
12
sysimg-release : $(build_private_libdir ) /sys.$(SHLIB_EXT )
13
13
sysimg-debug : $(build_private_libdir ) /sys-debug.$(SHLIB_EXT )
@@ -69,28 +69,45 @@ RELDATADIR := $(call rel_path,$(JULIAHOME)/base,$(build_datarootdir))/ # <-- mak
69
69
70
70
$(build_private_libdir ) /basecompiler.ji : $(COMPILER_SRCS )
71
71
@$(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 \
73
73
--startup-file=no --warn-overwrite=yes -g$(BOOTSTRAP_DEBUG_LEVEL ) -O1 Base_compiler.jl --buildroot $(RELBUILDROOT ) --dataroot $(RELDATADIR ) )
74
74
@mv $@ .tmp $@
75
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 \
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) ) 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 --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`. *** '; \
88
92
false; \
89
93
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
91
97
92
98
define 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
94
111
@$$(call PRINT_JULIA, cd $$(JULIAHOME ) /base && \
95
112
if ! JULIA_BINDIR=$$(call cygpath_w,$(build_bindir ) ) \
96
113
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
105
122
fi )
106
123
@mv $$@ .tmp $$@
107
124
.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
108
126
endef
127
+ $(eval $(call base_builder,,-O1,$(JULIA_EXECUTABLE_release)))
128
+ $(eval $(call base_builder,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
109
129
$(eval $(call sysimg_builder,,-O3,$(JULIA_EXECUTABLE_release)))
110
130
$(eval $(call sysimg_builder,-debug,-O0,$(JULIA_EXECUTABLE_debug)))
0 commit comments