Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 54 lines (44 sloc) 1.815 kB
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
1 ### CONFIGURATION
2
3 # How to run CLR programs; can be blank for Win32
4 RUN_CLR=mono
5 CSC=gmcs
6 RM=rm -f
7 CP=cp
8
9 cskernel=Kernel.cs Builtins.cs Cursor.cs JSYNC.cs NieczaCLR.cs
10 csbackend=CLRBackend.cs
11
12 # keep this in dependency order
eab7f8a @sorear Add test and p6eval make targets
authored
13 libunits=SAFE CORE JSYNC
14 srcunits=CClass Body Unit CgOp Op Sig RxOp NAME Stash STD NieczaGrammar \
15 Metamodel OptRxSimple NAMOutput NieczaActions NieczaFrontendSTD \
16 NieczaPassBegin NieczaPassBeta NieczaPassSimplifier NieczaPathSearch \
17 NieczaBackendNAM NieczaBackendDotnet NieczaBackendClisp NieczaCompiler
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
18
eab7f8a @sorear Add test and p6eval make targets
authored
19 all: run/Niecza.exe obj/Kernel.dll obj/CLRBackend.exe
e2d1ed2 @sorear Write VERSION file
authored
20 git describe --tags > VERSION
eab7f8a @sorear Add test and p6eval make targets
authored
21
22 run/Niecza.exe: .fetch-stamp $(patsubst %,src/%.pm6,$(srcunits)) src/niecza
e23237d @sorear On second thought, don't pass -I to bootstrap
authored
23 cd src && $(RUN_CLR) ../boot/run/Niecza.exe -v -c -Bnam niecza
bd091ab @sorear Change Makefile to support dash builtin [
authored
24 for nfile in $(libunits) $(srcunits); do \
25 if [ boot/obj/$$nfile.nam -nt boot/obj/$$nfile.dll -o \
26 ! -e boot/obj/$$nfile.dll ]; then \
27 echo $$nfile; \
0cdc4fd @sorear Only run nam->dll step if file changed
authored
28 $(RUN_CLR) boot/obj/CLRBackend.exe boot/obj $$nfile.nam $$nfile.dll 0; \
29 fi; done
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
30 $(RUN_CLR) boot/obj/CLRBackend.exe boot/obj MAIN.nam MAIN.exe 1
eab7f8a @sorear Add test and p6eval make targets
authored
31 $(CP) $(patsubst %,boot/obj/%.dll,Kernel $(libunits) $(srcunits)) run/
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
32 $(CP) boot/obj/MAIN.exe run/Niecza.exe
33
34 .fetch-stamp: FETCH_URL
35 -rm -rf boot/
36 mkdir boot
37 wget --no-check-certificate -Oboot/niecza.zip $$(cat FETCH_URL)
38 cd boot && unzip niecza.zip
39 touch .fetch-stamp
40
41 obj/Kernel.dll: $(patsubst %,lib/%,$(cskernel))
42 $(CSC) /target:library /out:obj/Kernel.dll /unsafe+ \
43 $(patsubst %,lib/%,$(cskernel))
44 obj/CLRBackend.exe: $(patsubst %,lib/%,$(csbackend)) obj/Kernel.dll
45 $(CSC) /target:exe /lib:obj /out:obj/CLRBackend.exe /r:Kernel.dll \
46 $(patsubst %,lib/%,$(csbackend))
eab7f8a @sorear Add test and p6eval make targets
authored
47
48 test: all
49 $(RUN_CLR) run/Niecza.exe -c test.pl
50 prove -e $(RUN_CLR) obj/MAIN.exe
51
52 p6eval: all
53 $(RUN_CLR) run/Niecza.exe -C CORE Test JSYNC
Something went wrong with that request. Please try again.