@@ -16,40 +16,43 @@ endif
1616# location of test source
1717SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST ) ) ) )
1818JULIAHOME := $(abspath $(SRCDIR ) /../..)
19- BUILDSCRIPT := $(BIN ) /../share/julia/juliac-buildscript.jl
2019include $(JULIAHOME ) /Make.inc
2120
2221# get the executable suffix, if any
2322EXE := $(suffix $(abspath $(JULIA ) ) )
2423
2524# get compiler and linker flags. (see: `contrib/julia-config.jl`)
2625JULIA_CONFIG := $(JULIA ) -e 'include(joinpath(Sys.BINDIR, Base.DATAROOTDIR, "julia", "julia-config.jl"))' --
26+ JULIA_LIBDIR := $(shell $(JULIA ) -e 'println(joinpath(Sys.BINDIR, "..", "lib") )' --)
2727CPPFLAGS_ADD :=
2828CFLAGS_ADD = $(shell $(JULIA_CONFIG ) --cflags)
2929LDFLAGS_ADD = -lm $(shell $(JULIA_CONFIG ) --ldflags --ldlibs) -ljulia-internal
3030
31+ # get the JuliaC build script
32+ JULIAC_BUILDSCRIPT := $(shell $(JULIA ) -e 'print(joinpath(Sys.BINDIR, Base.DATAROOTDIR, "julia", "juliac-buildscript.jl") )')
33+
3134# =============================================================================
3235
33- release : hello$(EXE ) basic_jll$(EXE )
36+ release : $( BIN ) / hello$(EXE ) $( BIN ) / basic_jll$(EXE )
3437
35- hello-o.a : $(SRCDIR ) /hello.jl $(BUILDSCRIPT )
36- $(JULIA ) -t 1 -J $(BIN ) /../lib/ julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --output-o $@ --output-incremental=no --strip-ir --strip-metadata --experimental --trim $(BUILDSCRIPT ) $< --output-exe true
38+ $( BIN ) / hello-o.a : $(SRCDIR ) /hello.jl $(JULIAC_BUILDSCRIPT )
39+ $(JULIA ) -t 1 -J $(JULIA_LIBDIR ) / julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --output-o $@ --output-incremental=no --strip-ir --strip-metadata --experimental --trim $(JULIAC_BUILDSCRIPT ) $< --output-exe true
3740
38- basic_jll-o.a : $(SRCDIR ) /basic_jll.jl $(BUILDSCRIPT )
39- $(JULIA ) -t 1 -J $(BIN ) /../lib /julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --project=$(SRCDIR ) -e " using Pkg; Pkg.instantiate()"
40- $(JULIA ) -t 1 -J $(BIN ) /../lib/ julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --project=$(SRCDIR ) --output-o $@ --output-incremental=no --strip-ir --strip-metadata --experimental --trim $(BUILDSCRIPT ) $< --output-exe true
41+ $( BIN ) / basic_jll-o.a : $(SRCDIR ) /basic_jll.jl $(JULIAC_BUILDSCRIPT )
42+ $(JULIA ) -t 1 -J $(JULIA_LIBDIR ) /julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --project=$(SRCDIR ) -e " using Pkg; Pkg.instantiate()"
43+ $(JULIA ) -t 1 -J $(JULIA_LIBDIR ) / julia/sys.$(SHLIB_EXT ) --startup-file=no --history-file=no --project=$(SRCDIR ) --output-o $@ --output-incremental=no --strip-ir --strip-metadata --experimental --trim $(JULIAC_BUILDSCRIPT ) $< --output-exe true
4144
42- hello$(EXE ) : hello-o.a
45+ $( BIN ) / hello$(EXE ) : $( BIN ) / hello-o.a
4346 $(CC ) -o $@ $(WHOLE_ARCHIVE ) $< $(NO_WHOLE_ARCHIVE ) $(CPPFLAGS_ADD ) $(CPPFLAGS ) $(CFLAGS_ADD ) $(CFLAGS ) $(LDFLAGS_ADD ) $(LDFLAGS )
4447
45- basic_jll$(EXE ) : basic_jll-o.a
48+ $( BIN ) / basic_jll$(EXE ) : $( BIN ) / basic_jll-o.a
4649 $(CC ) -o $@ $(WHOLE_ARCHIVE ) $< $(NO_WHOLE_ARCHIVE ) $(CPPFLAGS_ADD ) $(CPPFLAGS ) $(CFLAGS_ADD ) $(CFLAGS ) $(LDFLAGS_ADD ) $(LDFLAGS )
4750
48- check : hello$(EXE ) basic_jll$(EXE )
49- $(JULIA ) --depwarn=error $(SRCDIR ) /../runtests. jl $( SRCDIR ) /trimming
51+ check : $( BIN ) / hello$(EXE ) $( BIN ) / basic_jll$(EXE )
52+ $(JULIA ) --depwarn=error $(SRCDIR ) /trimming. jl $<
5053
5154clean :
52- -rm -f hello$(EXE ) basic_jll$(EXE ) hello-o.a basic_jll-o.a
55+ -rm -f $( BIN ) / hello$(EXE ) $( BIN ) / basic_jll$(EXE ) $( BIN ) / hello-o.a $( BIN ) / basic_jll-o.a
5356
5457.PHONY : release clean check
5558
0 commit comments