@@ -4,17 +4,6 @@ BUILDDIR := .
44include $(JULIAHOME ) /Make.inc
55include $(JULIAHOME ) /deps/llvm-ver.make
66
7- ifeq ($(USE_MMTK ) , 1)
8- CFLAGS = -DMMTKHEAP
9- CPPFLAGS = -DMMTKHEAP
10- MMTK_BUILD_TYPE = ${MMTK_BUILD}
11- MMTK_DIR = ${MMTK_JULIA_DIR}
12- MMTK_API_DIR_INCLUDE = $(MMTK_DIR ) /api
13- MMTK_JULIA_DIR_INCLUDE = $(MMTK_DIR ) /../julia
14- MMTK_LIB := -L$(MMTK_DIR ) /target/$(MMTK_BUILD_TYPE ) / -lmmtk_julia
15- LDFLAGS += -Wl,-rpath=$(MMTK_DIR ) /target/$(MMTK_BUILD_TYPE ) /
16- endif
17-
187JCFLAGS += $(CFLAGS )
198JCXXFLAGS += $(CXXFLAGS )
209JCPPFLAGS += $(CPPFLAGS )
@@ -30,10 +19,6 @@ FLAGS := \
3019 -I$(LIBUV_INC ) -I$(build_includedir ) \
3120 -I$(JULIAHOME ) /deps/valgrind
3221
33- ifeq ($(USE_MMTK ) , 1)
34- FLAGS += -I$(MMTK_API_DIR_INCLUDE ) -I$(MMTK_JULIA_DIR_INCLUDE )
35- endif
36-
3722FLAGS += -Wall -Wno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden -fno-common \
3823 -Wno-comment -Wpointer-arith -Wundef
3924ifeq ($(USEGCC ) ,1) # GCC bug #25509 (void)__attribute__((warn_unused_result))
@@ -45,6 +30,10 @@ ifeq ($(USECLANG),1)
4530FLAGS += -Wno-return-type-c-linkage
4631endif
4732
33+ ifeq ($(WITH_MMTK ) , 1)
34+ FLAGS += -I$(MMTK_API_INC ) -I$(MMTK_JULIA_INC )
35+ endif
36+
4837FLAGS += -DJL_BUILD_ARCH='"$(ARCH ) "'
4938ifeq ($(OS ) ,WINNT)
5039FLAGS += -DJL_BUILD_UNAME='"NT"'
@@ -60,9 +49,10 @@ SRCS := \
6049 jltypes gf typemap smallintset ast builtins module interpreter symbol \
6150 dlload sys init task array staticdata toplevel jl_uv datatype \
6251 simplevector runtime_intrinsics precompile jloptions \
63- threading partr stackwalk gc gc-debug gc-pages gc-stacks gc-alloc-profiler method \
64- jlapi signal-handling safepoint timing subtype rtutils gc-heap-snapshot \
65- crc32c APInt-C processor ircode opaque_closure codegen-stubs coverage runtime_ccall
52+ threading partr stackwalk gc-common gc gc-debug gc-pages gc-stacks gc-alloc-profiler \
53+ mmtk-gc method jlapi signal-handling safepoint timing subtype rtutils \
54+ gc-heap-snapshot crc32c APInt-C processor ircode opaque_closure codegen-stubs \
55+ coverage runtime_ccall
6656
6757RT_LLVMLINK :=
6858CG_LLVMLINK :=
@@ -173,13 +163,8 @@ LIBJULIA_PATH_REL := libjulia
173163endif
174164
175165COMMON_LIBPATHS := -L$(build_libdir ) -L$(build_shlibdir )
176- RT_LIBS := $(WHOLE_ARCHIVE ) $(LIBUV ) $(WHOLE_ARCHIVE ) $(LIBUTF8PROC ) $(NO_WHOLE_ARCHIVE ) $(LIBUNWIND ) $(RT_LLVMLINK ) $(OSLIBS )
177- CG_LIBS := $(LIBUNWIND ) $(CG_LLVMLINK ) $(OSLIBS )
178-
179- ifeq ($(USE_MMTK ) , 1)
180- CG_LIBS += $(MMTK_LIB )
181- RT_LIBS += $(MMTK_LIB )
182- endif
166+ RT_LIBS := $(WHOLE_ARCHIVE ) $(LIBUV ) $(WHOLE_ARCHIVE ) $(LIBUTF8PROC ) $(NO_WHOLE_ARCHIVE ) $(LIBUNWIND ) $(RT_LLVMLINK ) $(OSLIBS ) $(MMTK_LIB )
167+ CG_LIBS := $(LIBUNWIND ) $(CG_LLVMLINK ) $(OSLIBS ) $(MMTK_LIB )
183168
184169RT_DEBUG_LIBS := $(COMMON_LIBPATHS ) $(WHOLE_ARCHIVE ) $(BUILDDIR ) /flisp/libflisp-debug.a $(WHOLE_ARCHIVE ) $(BUILDDIR ) /support/libsupport-debug.a -ljulia-debug $(RT_LIBS )
185170CG_DEBUG_LIBS := $(COMMON_LIBPATHS ) $(CG_LIBS ) -ljulia-debug -ljulia-internal-debug
@@ -189,10 +174,13 @@ CG_RELEASE_LIBS := $(COMMON_LIBPATHS) $(CG_LIBS) -ljulia -ljulia-internal
189174OBJS := $(SRCS:%=$(BUILDDIR ) /%.o )
190175DOBJS := $(SRCS:%=$(BUILDDIR ) /%.dbg.obj )
191176
192- ifeq ($(USE_MMTK ) , 1)
177+ ifeq ($(WITH_MMTK ) , 1)
193178MMTK_SRCS := mmtk_julia
194- MMTK_OBJS := $(MMTK_SRCS:%=$(MMTK_JULIA_DIR_INCLUDE ) /%.o )
195- MMTK_DOBJS := $(MMTK_SRCS:%=$(MMTK_JULIA_DIR_INCLUDE ) /%.o )
179+ MMTK_OBJS := $(MMTK_SRCS:%=$(MMTK_JULIA_INC ) /%.o )
180+ MMTK_DOBJS := $(MMTK_SRCS:%=$(MMTK_JULIA_INC ) /%.dbg.obj )
181+ else
182+ MMTK_OBJS :=
183+ MMTK_DOBJS :=
196184endif
197185
198186CODEGEN_OBJS := $(CODEGEN_SRCS:%=$(BUILDDIR ) /%.o )
@@ -262,10 +250,10 @@ $(BUILDDIR)/%.o : $(SRCDIR)/%.d
262250$(BUILDDIR ) /% .dbg.obj : $(SRCDIR ) /% .d
263251 @$(call PRINT_DTRACE, $(DTRACE ) -G -s $< -o $@ )
264252
265- ifeq ($(USE_MMTK ) , 1)
266- $(MMTK_JULIA_DIR_INCLUDE ) /% .o : $(MMTK_JULIA_DIR_INCLUDE ) /% .c $(HEADERS ) | $(MMTK_JULIA_DIR_INCLUDE )
253+ ifeq ($(WITH_MMTK ) , 1)
254+ $(MMTK_JULIA_INC ) /% .o : $(MMTK_JULIA_INC ) /% .c $(HEADERS ) | $(MMTK_JULIA_INC )
267255 @$(call PRINT_CC, $(CC ) $(JCPPFLAGS ) $(JCFLAGS ) $(SHIPFLAGS ) $(DISABLE_ASSERTIONS ) -c $< -o $@ )
268- $(MMTK_JULIA_DIR_INCLUDE ) /% .dbg.obj : $(MMTK_JULIA_DIR_INCLUDE ) /% .c $(HEADERS ) | $(MMTK_JULIA_DIR_INCLUDE )
256+ $(MMTK_JULIA_INC ) /% .dbg.obj : $(MMTK_JULIA_INC ) /% .c $(HEADERS ) | $(MMTK_JULIA_INC )
269257 @$(call PRINT_CC, $(CC ) $(JCPPFLAGS ) $(JCFLAGS ) $(DEBUGFLAGS ) -c $< -o $@ )
270258endif
271259
@@ -333,6 +321,8 @@ $(BUILDDIR)/disasm.o $(BUILDDIR)/disasm.dbg.obj: $(SRCDIR)/debuginfo.h $(SRCDIR)
333321$(BUILDDIR ) /gc-debug.o $(BUILDDIR ) /gc-debug.dbg.obj : $(SRCDIR ) /gc.h
334322$(BUILDDIR ) /gc-pages.o $(BUILDDIR ) /gc-pages.dbg.obj : $(SRCDIR ) /gc.h
335323$(BUILDDIR ) /gc.o $(BUILDDIR ) /gc.dbg.obj : $(SRCDIR ) /gc.h $(SRCDIR ) /gc-heap-snapshot.h $(SRCDIR ) /gc-alloc-profiler.h
324+ $(BUILDDIR ) /mmtk-gc.o $(BUILDDIR ) /mmtk-gc.dbg.obj : $(SRCDIR ) /gc.h $(SRCDIR ) /gc-heap-snapshot.h $(SRCDIR ) /gc-alloc-profiler.h
325+ $(BUILDDIR ) /gc-common.o $(BUILDDIR ) /gc-common.dbg.obj : $(SRCDIR ) /gc.h $(SRCDIR ) /gc-heap-snapshot.h $(SRCDIR ) /gc-alloc-profiler.h
336326$(BUILDDIR ) /gc-heap-snapshot.o $(BUILDDIR ) /gc-heap-snapshot.dbg.obj : $(SRCDIR ) /gc.h $(SRCDIR ) /gc-heap-snapshot.h
337327$(BUILDDIR ) /gc-alloc-profiler.o $(BUILDDIR ) /gc-alloc-profiler.dbg.obj : $(SRCDIR ) /gc.h $(SRCDIR ) /gc-alloc-profiler.h
338328$(BUILDDIR ) /init.o $(BUILDDIR ) /init.dbg.obj : $(SRCDIR ) /builtin_proto.h
@@ -398,7 +388,6 @@ $(BUILDDIR)/julia_version.h: $(JULIAHOME)/VERSION
398388
399389CXXLD = $(CXX ) -shared
400390
401- ifeq ($(USE_MMTK ) , 1)
402391$(build_shlibdir ) /libjulia-internal.$(JL_MAJOR_MINOR_SHLIB_EXT ) : $(SRCDIR ) /julia.expmap $(OBJS ) $(MMTK_OBJS ) $(BUILDDIR ) /flisp/libflisp.a $(BUILDDIR ) /support/libsupport.a $(LIBUV )
403392 @$(call PRINT_LINK, $(CXXLD ) $(call IMPLIB_FLAGS,$@ ) $(JCXXFLAGS ) $(CXXLDFLAGS ) $(SHIPFLAGS ) $(OBJS ) $(MMTK_OBJS ) $(RPATH_LIB ) -o $@ \
404393 $(JLDFLAGS ) $(JLIBLDFLAGS ) $(RT_RELEASE_LIBS ) $(call SONAME_FLAGS,libjulia-internal.$(JL_MAJOR_SHLIB_EXT ) ) )
@@ -410,19 +399,6 @@ $(build_shlibdir)/libjulia-internal-debug.$(JL_MAJOR_MINOR_SHLIB_EXT): $(SRCDIR)
410399 $(JLDFLAGS ) $(JLIBLDFLAGS ) $(RT_DEBUG_LIBS ) $(call SONAME_FLAGS,libjulia-internal-debug.$(JL_MAJOR_SHLIB_EXT ) ) )
411400 @$(INSTALL_NAME_CMD ) libjulia-internal-debug.$(SHLIB_EXT ) $@
412401 $(DSYMUTIL ) $@
413- else
414- $(build_shlibdir ) /libjulia-internal.$(JL_MAJOR_MINOR_SHLIB_EXT ) : $(SRCDIR ) /julia.expmap $(OBJS ) $(BUILDDIR ) /flisp/libflisp.a $(BUILDDIR ) /support/libsupport.a $(LIBUV )
415- @$(call PRINT_LINK, $(CXXLD ) $(call IMPLIB_FLAGS,$@ ) $(JCXXFLAGS ) $(JL_CXXFLAGS ) $(CXXLDFLAGS ) $(SHIPFLAGS ) $(OBJS ) $(RPATH_LIB ) -o $@ \
416- $(JLDFLAGS ) $(JLIBLDFLAGS ) $(RT_RELEASE_LIBS ) $(call SONAME_FLAGS,libjulia-internal.$(JL_MAJOR_SHLIB_EXT ) ) )
417- @$(INSTALL_NAME_CMD ) libjulia-internal.$(SHLIB_EXT ) $@
418- $(DSYMUTIL ) $@
419-
420- $(build_shlibdir ) /libjulia-internal-debug.$(JL_MAJOR_MINOR_SHLIB_EXT ) : $(SRCDIR ) /julia.expmap $(DOBJS ) $(BUILDDIR ) /flisp/libflisp-debug.a $(BUILDDIR ) /support/libsupport-debug.a $(LIBUV )
421- @$(call PRINT_LINK, $(CXXLD ) $(call IMPLIB_FLAGS,$@ ) $(JCXXFLAGS ) $(JL_CXXFLAGS ) $(CXXLDFLAGS ) $(DEBUGFLAGS ) $(DOBJS ) $(RPATH_LIB ) -o $@ \
422- $(JLDFLAGS ) $(JLIBLDFLAGS ) $(RT_DEBUG_LIBS ) $(call SONAME_FLAGS,libjulia-internal-debug.$(JL_MAJOR_SHLIB_EXT ) ) )
423- @$(INSTALL_NAME_CMD ) libjulia-internal-debug.$(SHLIB_EXT ) $@
424- $(DSYMUTIL ) $@
425- endif
426402
427403ifneq ($(OS ) , WINNT)
428404$(build_shlibdir ) /libjulia-internal.$(JL_MAJOR_SHLIB_EXT ) $(build_shlibdir ) /libjulia-internal-debug.$(JL_MAJOR_SHLIB_EXT ) : $(build_shlibdir ) /libjulia-internal% .$(JL_MAJOR_SHLIB_EXT ) : \
@@ -464,20 +440,11 @@ libjulia-codegen-release: $(build_shlibdir)/libjulia-codegen.$(JL_MAJOR_MINOR_SH
464440libjulia-codegen-debug : $(build_shlibdir ) /libjulia-codegen-debug.$(JL_MAJOR_MINOR_SHLIB_EXT )
465441libjulia-codegen-debug libjulia-codegen-release : $(PUBLIC_HEADER_TARGETS )
466442
467- ifeq ($(USE_MMTK ) , 1)
468443clean :
469444 -rm -fr $(build_shlibdir ) /libjulia-internal* $(build_shlibdir ) /libccalltest* $(build_shlibdir ) /libllvmcalltest*
470445 -rm -f $(BUILDDIR ) /julia_flisp.boot $(BUILDDIR ) /julia_flisp.boot.inc
471446 -rm -f $(BUILDDIR ) /* .dbg.obj $(BUILDDIR ) /* .o $(BUILDDIR ) /* .dwo $(BUILDDIR ) /* .$(SHLIB_EXT ) $(BUILDDIR ) /* .a
472- -rm -f $(BUILDDIR ) /julia_version.h
473- -rm -fr $(MMTK_JULIA_DIR_INCLUDE ) /* .o
474- else
475- clean :
476- -rm -fr $(build_shlibdir ) /libjulia-internal* $(build_shlibdir ) /libjulia-codegen* $(build_shlibdir ) /libccalltest* $(build_shlibdir ) /libllvmcalltest*
477- -rm -f $(BUILDDIR ) /julia_flisp.boot $(BUILDDIR ) /julia_flisp.boot.inc $(BUILDDIR ) /jl_internal_funcs.inc
478- -rm -f $(BUILDDIR ) /* .dbg.obj $(BUILDDIR ) /* .o $(BUILDDIR ) /* .dwo $(BUILDDIR ) /* .$(SHLIB_EXT ) $(BUILDDIR ) /* .a $(BUILDDIR ) /* .h.gen
479- -rm -f $(BUILDDIR ) /julia_version.h
480- endif
447+ -rm -f $(BUILDDIR ) /julia_version.h $(MMTK_OBJS ) $(MMTK_DOBJS )
481448
482449clean-flisp :
483450 -$(MAKE ) -C $(SRCDIR ) /flisp clean BUILDDIR=' $(abspath $(BUILDDIR)/flisp)'
0 commit comments