Skip to content
This repository
Newer
Older
100644 136 lines (111 sloc) 4.98 kb
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
1 ### CONFIGURATION
2
3 # How to run CLR programs; can be blank for Win32
4 RUN_CLR=mono
7451754a »
2011-10-29 Finish implementation of -gen-app function
5 CSC=gmcs /debug+
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
6 RM=rm -f
7 CP=cp
2c5192b1 »
2012-08-23 Optionally use curl instead of wget
8 WGET_O=wget --no-check-certificate -O
a8aa70bd »
2012-08-27 Update bootstrap to v21
9 #WGET_O=curl -L -o
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
10
ef344dfb »
2011-04-03 Split basic object stuff into ObjModel.cs
11 cskernel=Kernel.cs Builtins.cs Cursor.cs JSYNC.cs NieczaCLR.cs Utils.cs \
94e99689 »
2011-09-29 Merge remote branch 'origin/master' into serialize
12 ObjModel.cs BigInteger.cs Printf.cs CodeGen.cs \
841c18e2 »
2011-12-17 Start on Unicode property data reader
13 GeneratedTrigFunctions.cs Serialize.cs UCD.cs
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
14
c58db17b »
2011-03-19 [Makefile] add targets aot spectest clean realclean and help
15 # Tell make to regard the following targets as not being filenames
16 .PHONY: all aot test spectest clean realclean
17 .PHONY: help
18
82bb6370 »
2011-03-09 Update bootstrap to one built against the 2.0 runtime
19 libunits=CORE JSYNC
51e9a265 »
2011-10-30 Remove no longer used "NAMOutput" and "Metamodel" modules
20 srcunits=CClass CgOp Op OpHelpers Sig RxOp STD NieczaGrammar OptRxSimple \
21 Operator NieczaActions NieczaFrontendSTD NieczaPassSimplifier \
22 OptBeta NieczaPathSearch NieczaBackendDotnet NieczaCompiler GetOptLong
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
23
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
24 all: run/Niecza.exe run/Run.Kernel.dll obj/Run.CORE.dll
eab7f8a9 »
2011-01-14 Add test and p6eval make targets
25
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
26 $(patsubst %,boot/obj/Run.%.ser,$(srcunits)): boot/obj/Run.%.ser: .fetch-stamp src/%.pm6 boot/obj/Run.CORE.ser
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
27 cd src && NIECZA_KEEP_IL=1 $(RUN_CLR) ../boot/run/Niecza.exe --obj-dir ../boot/obj -C $*
ac88a902 »
2011-05-04 Use Makefile to control building of compiler modules
28
77e27724 »
2011-12-29 Embed version information into builds
29 # hack - put VERSION info in place so the setting build can embed it
9083142a »
2011-10-26 Switch to single-AppDomain execution
30 obj/Run.CORE.dll: run/Niecza.exe obj/Run.Kernel.dll lib/CORE.setting
77e27724 »
2011-12-29 Embed version information into builds
31 @git describe --tags > VERSION
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
32 $(RUN_CLR) run/Niecza.exe --obj-dir obj -C CORE
1b13b318 »
2011-02-17 Auto-compile setting on make to end p6eval timeouts
33
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
34 run/Niecza.exe: .fetch-stamp $(patsubst %,boot/obj/Run.%.ser,$(srcunits)) src/niecza
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
35 cd src && NIECZA_KEEP_IL=1 $(RUN_CLR) ../boot/run/Niecza.exe --obj-dir ../boot/obj -c niecza
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
36 $(CP) boot/obj/Kernel.dll run/
37 $(CSC) /target:library /out:run/CompilerBlob.dll /r:Kernel \
38 /lib:run src/CompilerBlob.cs
39 $(RUN_CLR) run/Kernel.dll -gen-app Niecza boot/obj
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
40
41 .fetch-stamp: FETCH_URL
42 -rm -rf boot/
43 mkdir boot
2c5192b1 »
2012-08-23 Optionally use curl instead of wget
44 $(WGET_O) boot/niecza.zip $$(cat FETCH_URL)
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
45 cd boot && unzip niecza.zip
a8aa70bd »
2012-08-27 Update bootstrap to v21
46 NIECZA_KEEP_IL=1 $(RUN_CLR) boot/run/Niecza.exe --obj-dir=boot/obj -C $(libunits)
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
47 $(CP) boot/run/Kernel.dll boot/obj/
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
48 touch .fetch-stamp
3826c2af »
2012-08-23 Add an extra dependency to make parallel make happy
49 boot/obj/Run.CORE.ser: .fetch-stamp
923eae54 »
2011-01-14 Redo build system; bootstrapped niecza is live
50
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
51 boot/obj/Run.CompilerBlob.dll: .fetch-stamp src/CompilerBlob.cs
52 $(CSC) /target:library /out:boot/obj/Run.CompilerBlob.dll /r:Run.Kernel \
876ee084 »
2011-09-17 Fix build
53 /lib:boot/obj src/CompilerBlob.cs
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
54 run/Run.Kernel.dll: $(patsubst %,lib/%,$(cskernel)) lib/unidata
55 $(CSC) /target:exe /out:run/Run.Kernel.dll /lib:obj /unsafe+ \
e0d294d7 »
2011-12-19 Embed unidata into Kernel.dll, check in a working quasi-finalized ver…
56 /res:lib/unidata $(patsubst %,lib/%,$(cskernel))
57 obj/Kernel.dll: $(patsubst %,lib/%,$(cskernel)) lib/unidata
000cc772 »
2011-10-29 Checkpoint new bootstrap attempt
58 $(CSC) /target:exe /out:obj/Kernel.dll /lib:obj /unsafe+ \
e0d294d7 »
2011-12-19 Embed unidata into Kernel.dll, check in a working quasi-finalized ver…
59 /res:lib/unidata $(patsubst %,lib/%,$(cskernel))
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
60 obj/Run.Kernel.dll: run/Run.Kernel.dll
61 $(CP) $< $@
a9d984a6 »
2012-02-26 make perl5 now always rebuilds Niecza.pm.
62
63 .PHONY: Niecza_pm
64 perl5: obj/Perl5Interpreter.dll obj/p5embed.so Niecza_pm
65 Niecza_pm:
66 cd perl5/Niecza;perl Build.PL;perl Build
67
59c6a7b2 »
2012-01-14 Unbitrot perl5 interopability.
68 obj/Perl5Interpreter.dll: obj/Run.Kernel.dll lib/Perl5Interpreter.cs
69 $(CSC) /target:library /lib:obj /out:obj/Perl5Interpreter.dll /r:Run.Kernel.dll lib/Perl5Interpreter.cs
eab7f8a9 »
2011-01-14 Add test and p6eval make targets
70
1e1a24ea »
2011-09-23 Eval runs basic perl5 code. The Makefile needs review to check if it can
71 obj/p5embed.so: lib/p5embed.c
bef38b1f »
2012-01-27 Make the perl5 interop work outside the niecza directory and hopefull…
72 perl perl5/build_interop
73
1e1a24ea »
2011-09-23 Eval runs basic perl5 code. The Makefile needs review to check if it can
74
88519387 »
2011-04-14 [now] refactor the underlying function names and tweak 'make aot'
75 aot: all
f5dc966e »
2011-10-26 Rename Cursor.new to avoid conflicting with code that pretends gramma…
76 mono --aot run/*.dll obj/Run.CORE.dll run/Niecza.exe
c58db17b »
2011-03-19 [Makefile] add targets aot spectest clean realclean and help
77
eab7f8a9 »
2011-01-14 Add test and p6eval make targets
78 test: all
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
79 $(RUN_CLR) run/Niecza.exe --obj-dir obj -c test.pl
9ceaa8e1 »
2011-10-26 Regularize Any/Mu variable handling
80 prove -e "$(RUN_CLR)" obj/Run.MAIN.exe
eab7f8a9 »
2011-01-14 Add test and p6eval make targets
81
c58db17b »
2011-03-19 [Makefile] add targets aot spectest clean realclean and help
82 spectest: all
83 @t/run_spectests
84
85 clean:
e66416cc »
2011-10-02 make clean now removes .so files from obj
86 @rm -f obj/*.dll obj/*.exe obj/*.nam obj/*.so
185c4356 »
2011-05-05 Add a Makefile rule to build and test release tarballs
87 @rm -f run/Niecza.exe
88 @rm -f run/*.dll
89 @rm -f run/*.dll.so
90 @rm -fr *~
91
000cc772 »
2011-10-29 Checkpoint new bootstrap attempt
92 # uses the current niecza to set up a build area for the next stage
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
93 mkpackage:
94 rm -rf package/
55e895a8 »
2012-08-23 Update mkpackage for new run/Run.Kernel.dll file setup
95 mkdir package/ package/run/ package/lib/
7f550a22 »
2012-08-01 Fix package generation with BSD cp
96 cp -a docs README.pod LICENSE package/
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
97 cp -a run/Niecza.exe run/Niecza.ser run/Kernel.dll \
55e895a8 »
2012-08-23 Update mkpackage for new run/Run.Kernel.dll file setup
98 run/CompilerBlob.dll run/Run.Kernel.dll package/run/
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
99 cp lib/*.pm6 lib/*.setting package/lib/
100
000cc772 »
2011-10-29 Checkpoint new bootstrap attempt
101 mknext: run/Niecza.exe obj/Run.Kernel.dll obj/Kernel.dll
102 rm -rf next/
103 mkdir -p next next/boot next/obj next/run next/boot next/boot/obj/
104 touch next/FETCH_URL next/.fetch-stamp
7f550a22 »
2012-08-01 Fix package generation with BSD cp
105 cp -a src lib docs README.pod LICENSE Makefile test.pl next/
106 cp -a run lib next/boot/
000cc772 »
2011-10-29 Checkpoint new bootstrap attempt
107 cp obj/Run.Kernel.dll obj/Kernel.dll next/boot/obj/
f982881c »
2012-09-24 Inject references into CompilerBlob in a way that still works to fix …
108 ln -s ../t next/t
9fad9f7d »
2012-08-23 First attempt to use a per-user directory for the module cache
109 NIECZA_KEEP_IL=1 $(RUN_CLR) next/boot/run/Niecza.exe --obj-dir next/boot/obj -C $(libunits)
000cc772 »
2011-10-29 Checkpoint new bootstrap attempt
110
c58db17b »
2011-03-19 [Makefile] add targets aot spectest clean realclean and help
111 realclean: clean
112 @rm .fetch-stamp
113
114 help:
115 @echo ''
116 @echo 'You can make the following targets in this Niecza Makefile:'
117 @echo ''
118 @echo 'all the main Niecza compiler and runtime files (default)'
119 @echo 'aot Ahead of Time compile run/Niecza.exe and run/*.dll (increases speed)'
120 @echo 'test run/Niecza.exe test.pl'
121 @echo 'spectest t/run_spectests'
122 @echo 'clean remove all generated files'
123 @echo 'realclean clean and also require new download of bootstrap files'
124 @echo 'help this list of targets'
125 @echo ''
126
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
127 boot/obj/Run.NieczaBackendDotnet.ser: boot/obj/Run.CompilerBlob.dll
128
129 # grep -r '^use' src/*.pm6 | sed 's|src/\(.*\)\.pm6:use \(.*\);|boot/obj/Run.\1.ser: boot/obj/Run.\2.ser|' | grep -v MONKEY_TYPING
130 boot/obj/Run.NieczaActions.ser: boot/obj/Run.OpHelpers.ser
d6e29a53 »
2012-01-14 First batch of changes to remove "use"-dependencies from niecza
131 boot/obj/Run.NieczaFrontendSTD.ser: boot/obj/Run.STD.ser
f5fd473f »
2012-01-14 Finish removing "easy" cases of direct cross-module class referencing
132 boot/obj/Run.NieczaFrontendSTD.ser: boot/obj/Run.NieczaGrammar.ser
0417e673 »
2011-10-29 Switch build to using a /serialize bootstrap image
133 boot/obj/Run.NieczaGrammar.ser: boot/obj/Run.STD.ser
134 boot/obj/Run.Operator.ser: boot/obj/Run.OpHelpers.ser
135 boot/obj/Run.OptRxSimple.ser: boot/obj/Run.RxOp.ser
Something went wrong with that request. Please try again.