@@ -16,40 +16,43 @@ endif
16
16
# location of test source
17
17
SRCDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST ) ) ) )
18
18
JULIAHOME := $(abspath $(SRCDIR ) /../..)
19
- BUILDSCRIPT := $(BIN ) /../share/julia/juliac-buildscript.jl
20
19
include $(JULIAHOME ) /Make.inc
21
20
22
21
# get the executable suffix, if any
23
22
EXE := $(suffix $(abspath $(JULIA ) ) )
24
23
25
24
# get compiler and linker flags. (see: `contrib/julia-config.jl`)
26
25
JULIA_CONFIG := $(JULIA ) -e 'include(joinpath(Sys.BINDIR, Base.DATAROOTDIR, "julia", "julia-config.jl"))' --
26
+ JULIA_LIBDIR := $(shell $(JULIA ) -e 'println(joinpath(Sys.BINDIR, "..", "lib") )' --)
27
27
CPPFLAGS_ADD :=
28
28
CFLAGS_ADD = $(shell $(JULIA_CONFIG ) --cflags)
29
29
LDFLAGS_ADD = -lm $(shell $(JULIA_CONFIG ) --ldflags --ldlibs) -ljulia-internal
30
30
31
+ # get the JuliaC build script
32
+ JULIAC_BUILDSCRIPT := $(shell $(JULIA ) -e 'print(joinpath(Sys.BINDIR, Base.DATAROOTDIR, "julia", "juliac-buildscript.jl") )')
33
+
31
34
# =============================================================================
32
35
33
- release : hello$(EXE ) basic_jll$(EXE )
36
+ release : $( BIN ) / hello$(EXE ) $( BIN ) / basic_jll$(EXE )
34
37
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
37
40
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
41
44
42
- hello$(EXE ) : hello-o.a
45
+ $( BIN ) / hello$(EXE ) : $( BIN ) / hello-o.a
43
46
$(CC ) -o $@ $(WHOLE_ARCHIVE ) $< $(NO_WHOLE_ARCHIVE ) $(CPPFLAGS_ADD ) $(CPPFLAGS ) $(CFLAGS_ADD ) $(CFLAGS ) $(LDFLAGS_ADD ) $(LDFLAGS )
44
47
45
- basic_jll$(EXE ) : basic_jll-o.a
48
+ $( BIN ) / basic_jll$(EXE ) : $( BIN ) / basic_jll-o.a
46
49
$(CC ) -o $@ $(WHOLE_ARCHIVE ) $< $(NO_WHOLE_ARCHIVE ) $(CPPFLAGS_ADD ) $(CPPFLAGS ) $(CFLAGS_ADD ) $(CFLAGS ) $(LDFLAGS_ADD ) $(LDFLAGS )
47
50
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 $<
50
53
51
54
clean :
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
53
56
54
57
.PHONY : release clean check
55
58
0 commit comments