Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 132 lines (106 sloc) 4.758 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
7451754 @sorear Finish implementation of -gen-app function
authored
5 CSC=gmcs /debug+
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
6 RM=rm -f
7 CP=cp
8
ef344df @sorear Split basic object stuff into ObjModel.cs
authored
9 cskernel=Kernel.cs Builtins.cs Cursor.cs JSYNC.cs NieczaCLR.cs Utils.cs \
94e9968 @sorear Merge remote branch 'origin/master' into serialize
authored
10 ObjModel.cs BigInteger.cs Printf.cs CodeGen.cs \
841c18e @sorear Start on Unicode property data reader
authored
11 GeneratedTrigFunctions.cs Serialize.cs UCD.cs
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
12
c58db17 @mberends [Makefile] add targets aot spectest clean realclean and help
mberends authored
13 # Tell make to regard the following targets as not being filenames
14 .PHONY: all aot test spectest clean realclean
15 .PHONY: help
16
82bb637 @sorear Update bootstrap to one built against the 2.0 runtime
authored
17 libunits=CORE JSYNC
51e9a26 @sorear Remove no longer used "NAMOutput" and "Metamodel" modules
authored
18 srcunits=CClass CgOp Op OpHelpers Sig RxOp STD NieczaGrammar OptRxSimple \
19 Operator NieczaActions NieczaFrontendSTD NieczaPassSimplifier \
20 OptBeta NieczaPathSearch NieczaBackendDotnet NieczaCompiler GetOptLong
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
21
9083142 @sorear Switch to single-AppDomain execution
authored
22 all: run/Niecza.exe obj/Run.Kernel.dll obj/Run.CORE.dll
eab7f8a @sorear Add test and p6eval make targets
authored
23
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
24 $(patsubst %,boot/obj/Run.%.ser,$(srcunits)): boot/obj/Run.%.ser: .fetch-stamp src/%.pm6 boot/obj/Run.CORE.ser
25 cd src && NIECZA_KEEP_IL=1 $(RUN_CLR) ../boot/run/Niecza.exe -C $*
ac88a90 @sorear Use Makefile to control building of compiler modules
authored
26
77e2772 @sorear Embed version information into builds
authored
27 # hack - put VERSION info in place so the setting build can embed it
9083142 @sorear Switch to single-AppDomain execution
authored
28 obj/Run.CORE.dll: run/Niecza.exe obj/Run.Kernel.dll lib/CORE.setting
77e2772 @sorear Embed version information into builds
authored
29 @git describe --tags > VERSION
1b13b31 @sorear Auto-compile setting on make to end p6eval timeouts
authored
30 $(RUN_CLR) run/Niecza.exe -C CORE
31
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
32 run/Niecza.exe: .fetch-stamp $(patsubst %,boot/obj/Run.%.ser,$(srcunits)) src/niecza
33 cd src && NIECZA_KEEP_IL=1 $(RUN_CLR) ../boot/run/Niecza.exe -c niecza
34 $(CP) boot/obj/Kernel.dll run/
35 $(CSC) /target:library /out:run/CompilerBlob.dll /r:Kernel \
36 /lib:run src/CompilerBlob.cs
37 $(RUN_CLR) run/Kernel.dll -gen-app Niecza boot/obj
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
38
39 .fetch-stamp: FETCH_URL
40 -rm -rf boot/
41 mkdir boot
bfba5a3 @sorear Revert "github.com has a valid SSL certificate now"
authored
42 wget --no-check-certificate -Oboot/niecza.zip $$(cat FETCH_URL)
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
43 cd boot && unzip niecza.zip
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
44 NIECZA_KEEP_IL=1 $(RUN_CLR) boot/run/Niecza.exe -C $(libunits)
45 $(CP) boot/run/Kernel.dll boot/obj/
923eae5 @sorear Redo build system; bootstrapped niecza is live
authored
46 touch .fetch-stamp
47
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
48 boot/obj/Run.CompilerBlob.dll: .fetch-stamp src/CompilerBlob.cs
49 $(CSC) /target:library /out:boot/obj/Run.CompilerBlob.dll /r:Run.Kernel \
876ee08 @sorear Fix build
authored
50 /lib:boot/obj src/CompilerBlob.cs
e0d294d @sorear Embed unidata into Kernel.dll, check in a working quasi-finalized ver…
authored
51 obj/Run.Kernel.dll: $(patsubst %,lib/%,$(cskernel)) lib/unidata
9083142 @sorear Switch to single-AppDomain execution
authored
52 $(CSC) /target:exe /out:obj/Run.Kernel.dll /lib:obj /unsafe+ \
e0d294d @sorear Embed unidata into Kernel.dll, check in a working quasi-finalized ver…
authored
53 /res:lib/unidata $(patsubst %,lib/%,$(cskernel))
54 obj/Kernel.dll: $(patsubst %,lib/%,$(cskernel)) lib/unidata
000cc77 @sorear Checkpoint new bootstrap attempt
authored
55 $(CSC) /target:exe /out:obj/Kernel.dll /lib:obj /unsafe+ \
e0d294d @sorear Embed unidata into Kernel.dll, check in a working quasi-finalized ver…
authored
56 /res:lib/unidata $(patsubst %,lib/%,$(cskernel))
eab7f8a @sorear Add test and p6eval make targets
authored
57
a9d984a @pmurias make perl5 now always rebuilds Niecza.pm.
pmurias authored
58
59 .PHONY: Niecza_pm
60 perl5: obj/Perl5Interpreter.dll obj/p5embed.so Niecza_pm
61 Niecza_pm:
62 cd perl5/Niecza;perl Build.PL;perl Build
63
59c6a7b @pmurias Unbitrot perl5 interopability.
pmurias authored
64 obj/Perl5Interpreter.dll: obj/Run.Kernel.dll lib/Perl5Interpreter.cs
65 $(CSC) /target:library /lib:obj /out:obj/Perl5Interpreter.dll /r:Run.Kernel.dll lib/Perl5Interpreter.cs
eab7f8a @sorear Add test and p6eval make targets
authored
66
1e1a24e @pmurias Eval runs basic perl5 code. The Makefile needs review to check if it can
pmurias authored
67 obj/p5embed.so: lib/p5embed.c
bef38b1 @pmurias Make the perl5 interop work outside the niecza directory and hopefull…
pmurias authored
68 perl perl5/build_interop
69
1e1a24e @pmurias Eval runs basic perl5 code. The Makefile needs review to check if it can
pmurias authored
70
8851938 @mberends [now] refactor the underlying function names and tweak 'make aot'
mberends authored
71 aot: all
f5dc966 @sorear Rename Cursor.new to avoid conflicting with code that pretends gramma…
authored
72 mono --aot run/*.dll obj/Run.CORE.dll run/Niecza.exe
c58db17 @mberends [Makefile] add targets aot spectest clean realclean and help
mberends authored
73
eab7f8a @sorear Add test and p6eval make targets
authored
74 test: all
75 $(RUN_CLR) run/Niecza.exe -c test.pl
9ceaa8e @sorear Regularize Any/Mu variable handling
authored
76 prove -e "$(RUN_CLR)" obj/Run.MAIN.exe
eab7f8a @sorear Add test and p6eval make targets
authored
77
c58db17 @mberends [Makefile] add targets aot spectest clean realclean and help
mberends authored
78 spectest: all
79 @t/run_spectests
80
81 clean:
e66416c @pmurias make clean now removes .so files from obj
pmurias authored
82 @rm -f obj/*.dll obj/*.exe obj/*.nam obj/*.so
185c435 @sorear Add a Makefile rule to build and test release tarballs
authored
83 @rm -f run/Niecza.exe
84 @rm -f run/*.dll
85 @rm -f run/*.dll.so
86 @rm -fr *~
87
000cc77 @sorear Checkpoint new bootstrap attempt
authored
88 # uses the current niecza to set up a build area for the next stage
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
89 mkpackage:
90 rm -rf package/
91 mkdir package/ package/run/ package/lib/ package/obj/
92 cp -a docs/ README.pod LICENSE package/
93 cp -a run/Niecza.exe run/Niecza.ser run/Kernel.dll \
94 run/CompilerBlob.dll package/run/
95 cp lib/*.pm6 lib/*.setting package/lib/
96 cp obj/Run.Kernel.dll package/obj/
97
000cc77 @sorear Checkpoint new bootstrap attempt
authored
98 mknext: run/Niecza.exe obj/Run.Kernel.dll obj/Kernel.dll
99 rm -rf next/
100 mkdir -p next next/boot next/obj next/run next/boot next/boot/obj/
101 touch next/FETCH_URL next/.fetch-stamp
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
102 cp -a src/ lib/ docs/ README.pod LICENSE Makefile test.pl next/
000cc77 @sorear Checkpoint new bootstrap attempt
authored
103 cp -a run/ lib/ next/boot/
104 cp obj/Run.Kernel.dll obj/Kernel.dll next/boot/obj/
105 NIECZA_KEEP_IL=1 $(RUN_CLR) next/boot/run/Niecza.exe -C $(libunits)
106
c58db17 @mberends [Makefile] add targets aot spectest clean realclean and help
mberends authored
107 realclean: clean
108 @rm .fetch-stamp
109
110 help:
111 @echo ''
112 @echo 'You can make the following targets in this Niecza Makefile:'
113 @echo ''
114 @echo 'all the main Niecza compiler and runtime files (default)'
115 @echo 'aot Ahead of Time compile run/Niecza.exe and run/*.dll (increases speed)'
116 @echo 'test run/Niecza.exe test.pl'
117 @echo 'spectest t/run_spectests'
118 @echo 'clean remove all generated files'
119 @echo 'realclean clean and also require new download of bootstrap files'
120 @echo 'help this list of targets'
121 @echo ''
122
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
123 boot/obj/Run.NieczaBackendDotnet.ser: boot/obj/Run.CompilerBlob.dll
124
125 # grep -r '^use' src/*.pm6 | sed 's|src/\(.*\)\.pm6:use \(.*\);|boot/obj/Run.\1.ser: boot/obj/Run.\2.ser|' | grep -v MONKEY_TYPING
126 boot/obj/Run.NieczaActions.ser: boot/obj/Run.OpHelpers.ser
d6e29a5 @sorear First batch of changes to remove "use"-dependencies from niecza
authored
127 boot/obj/Run.NieczaFrontendSTD.ser: boot/obj/Run.STD.ser
f5fd473 @sorear Finish removing "easy" cases of direct cross-module class referencing
authored
128 boot/obj/Run.NieczaFrontendSTD.ser: boot/obj/Run.NieczaGrammar.ser
0417e67 @sorear Switch build to using a /serialize bootstrap image
authored
129 boot/obj/Run.NieczaGrammar.ser: boot/obj/Run.STD.ser
130 boot/obj/Run.Operator.ser: boot/obj/Run.OpHelpers.ser
131 boot/obj/Run.OptRxSimple.ser: boot/obj/Run.RxOp.ser
Something went wrong with that request. Please try again.