1 ### infra/makefile --- The Compiler Company Infrastructure 3 LINUX_VERSION:=$(shell
uname
-r
| cut
-d-
-f1
) 12 CPU_COUNT:=$(shell
getconf
_NPROCESSORS_ONLN
) 13 HG_COMMIT:=$(shell
hg
id
-i
) 16 VARS:=$(foreach
v,
$(filter-out
$(__
) __,
$(.VARIABLES
)),
"\n$(v
) = $($(v
))") 18 all:linux emacs rocksdb sbcl rust code virt dist;
20 clean:linux-
clean code-
clean dist-
clean;
23 LINUX_TARGET:=linux-
$(LINUX_VERSION
) 24 linux:$(LINUX_TARGET) linux-
config;
26 $(LINUX_TARGET):scripts/
get-
linux.
sh;
28 gpg
--export
autosigner@
torvalds@
gregkh@
>
build/
$@/keyring.gpg
29 $<
$(LINUX_VERSION
) build
build/
$@/keyring.gpg
30 cd build
&& unxz
$@.tar.xz
&& tar
-xvf
$@.tar
$(LINUX_TARGET
) 31 linux-config:$(LINUX_TARGET);
32 cd build/$<
&& make
mrproper
-j
&& zcat
/proc/config.gz
>
.config
&& yes
N
| make
localmodconfig
33 linux-clean::;
rm -
rf build/
$(LINUX_TARGET)*
36 EMACS_TARGET:=emacs-
$(EMACS_VERSION
) 37 emacs:scripts/
get-
emacs.
sh;
41 ROCKSDB_TARGET:=rocksdb-
$(ROCKSDB_VERSION
) 42 rocksdb:scripts/
get-
rocksdb.
sh;
46 SBCL_TARGET:=sbcl-
$(SBCL_VERSION
) 47 sbcl:scripts/
get-
sbcl.
sh;
51 RUST_TARGET:=rust-
$(RUST_VERSION
) 52 rust:scripts/
get-
rust.
sh 55 cargo
install
--path
build/
$(RUST_TARGET
)/src/tools/x
56 rust-build:rust rust-
install-
x;
57 cd build/
$(RUST_TARGET
) && x
build
library
58 rust-doc:rust rust-
install-
x;
59 cd build/
$(RUST_TARGET
) && x
doc
60 rust-build-full:rust-
build;
61 cd build/
$(RUST_TARGET
) && x
build
--stage
2 compiler/rustc
62 rust-install:rust-
build;
63 cd build/
$(RUST_TARGET
) && x
install
65 cd build/
$(RUST_TARGET
) && x
dist
67 code:scripts/
get-
code.
sh 70 code-clean::;
rm -
rf build/
$(SRC)*
75 archlinux:virt/
build-
archlinux-
base.
sh 77 fedora:virt/
build-
fedora-
base.
sh 79 box:virt/
build-
box-
base.
sh 81 bbdb:virt/
build-
bbdb-
base.
sh 83 heptapod:virt/
build-
heptapod.
sh 85 heptapod-runner:virt/
build-
heptapod-
runner.
sh 88 vc:heptapod heptapod-
runner 94 dist/code:scripts/
bundle.
sh 104 dist/rocksdb:rocksdb;
108 dist:dist/
code dist/
cdn dist/
sbcl dist/
linux dist/
rocksdb 110 dist-clean::;
rm -
rf dist/*