1.1--- a/makefile Mon Nov 27 22:33:13 2023 -0500
1.2+++ b/makefile Mon Nov 27 23:47:58 2023 -0500
1.3@@ -5,6 +5,8 @@
1.4 ROCKSDB_VERSION:=main
1.5 SBCL_VERSION:=main
1.6 RUST_VERSION:=main
1.7+B:=build
1.8+D:=dist
1.9 SRC:=comp
1.10 SHELL=/bin/sh
1.11 UNAME=$(shell uname)
1.12@@ -17,7 +19,7 @@
1.13
1.14 all:linux emacs rocksdb sbcl rust code virt dist;
1.15
1.16-clean:linux-clean code-clean dist-clean;
1.17+clean:clean-linux clean-code clean-dist;
1.18
1.19 ### Linux
1.20 LINUX_TARGET:=linux-$(LINUX_VERSION)
1.21@@ -30,17 +32,30 @@
1.22 cd build && unxz $@.tar.xz && tar -xvf $@.tar $(LINUX_TARGET)
1.23 linux-config:$(LINUX_TARGET);
1.24 cd build/$< && make mrproper -j && zcat /proc/config.gz > .config && yes N | make localmodconfig
1.25-linux-clean::;rm -rf build/$(LINUX_TARGET)*
1.26+clean-linux::;rm -rf build/$(LINUX_TARGET)*
1.27
1.28 ### Emacs
1.29-EMACS_TARGET:=emacs-$(EMACS_VERSION)
1.30+EMACS_TARGET:=build/src/emacs-$(EMACS_VERSION)
1.31+EMACS_DIST:=$(DIST)/src/emacs
1.32 emacs:scripts/get-emacs.sh;
1.33 $< $(EMACS_VERSION)
1.34
1.35+emacs-build:emacs scripts/build-emacs.sh;
1.36+ cd $(EMACS_TARGET)
1.37+ ./autogen.sh
1.38+ mkdir -pv $(EMACS_DIST)
1.39+ scripts/build-emacs.sh $(EMACS_VERSION) $(EMACS_TARGET) $(EMACS_DIST)
1.40+
1.41+emacs-install:emacs-build;
1.42+ cd $(EMACS_DIST)
1.43+ make install
1.44+
1.45 ### RocksDB
1.46-ROCKSDB_TARGET:=rocksdb-$(ROCKSDB_VERSION)
1.47+ROCKSDB_TARGET:=build/src/rocksdb-$(ROCKSDB_VERSION)
1.48 rocksdb:scripts/get-rocksdb.sh;
1.49 $< $(ROCKSDB_VERSION)
1.50+ cd $(ROCKSDB_TARGET)
1.51+ make shared_lib DISABLE_JEMALLOC=1
1.52
1.53 ### SBCL
1.54 SBCL_TARGET:=sbcl-$(SBCL_VERSION)
1.55@@ -48,29 +63,29 @@
1.56 $< $(SBCL_VERSION)
1.57
1.58 ### Rust
1.59-RUST_TARGET:=rust-$(RUST_VERSION)
1.60+RUST_TARGET:=build/src/rust-$(RUST_VERSION)
1.61 rust:scripts/get-rust.sh
1.62 $< $(RUST_VERSION)
1.63-rust-install-x:rust;
1.64- cargo install --path build/$(RUST_TARGET)/src/tools/x
1.65+rust-x:rust;
1.66+ cargo install --path $(RUST_TARGET)/src/tools/x
1.67 rust-build:rust rust-install-x;
1.68- cd build/$(RUST_TARGET) && x build library
1.69+ cd $(RUST_TARGET) && x build library
1.70 rust-doc:rust rust-install-x;
1.71- cd build/$(RUST_TARGET) && x doc
1.72+ cd $(RUST_TARGET) && x doc
1.73 rust-build-full:rust-build;
1.74- cd build/$(RUST_TARGET) && x build --stage 2 compiler/rustc
1.75+ cd $(RUST_TARGET) && x build --stage 2 compiler/rustc
1.76 rust-install:rust-build;
1.77- cd build/$(RUST_TARGET) && x install
1.78-rust-dist:rust-build;
1.79- cd build/$(RUST_TARGET) && x dist
1.80+ cd $(RUST_TARGET) && x install
1.81+
1.82 ### Code
1.83+CODE_TARGET:=build/src/$(SRC)
1.84 code:scripts/get-code.sh
1.85 $< $(SRC)
1.86
1.87-code-clean::;rm -rf build/$(SRC)*
1.88+clean-code::;rm -rf $(CODE_TARGET)/*
1.89
1.90 ### Virt
1.91-pod:virt/build-pod.sh
1.92+dev-pod:virt/build-pod.sh
1.93 $<
1.94 archlinux:virt/build-archlinux-base.sh
1.95 $<
1.96@@ -85,16 +100,16 @@
1.97 heptapod-runner:virt/build-heptapod-runner.sh
1.98 $<
1.99
1.100-vc:heptapod heptapod-runner
1.101+vc-pod:heptapod heptapod-runner
1.102
1.103 virt:pod box bbdb vc
1.104-### Web
1.105
1.106 ### Dist
1.107-dist/comp:scripts/bundle-dir.sh
1.108+dist/bundle:scripts/bundle-dir.sh
1.109 $<
1.110
1.111 dist/cdn:cdn
1.112+ mkdir -pv $@
1.113 cp -r $^ $@
1.114
1.115 dist/sbcl:sbcl;
1.116@@ -102,12 +117,18 @@
1.117 dist/linux:linux;
1.118
1.119 dist/rocksdb:rocksdb;
1.120+ cd $(ROCKSDB_TARGET)
1.121+ cp -rf include/* $(D)
1.122+ cp -f librocksdb.so* $(D)/lib/
1.123+
1.124+dist/rust:rust-build;
1.125+ cd $(RUST_TARGET) && x dist
1.126
1.127 dist/emacs:emacs;
1.128
1.129-dist:dist/comp dist/cdn dist/sbcl dist/linux dist/rocksdb
1.130+dist:dist/bundle dist/cdn dist/sbcl dist/rocksdb # dist/linux dist/rust
1.131
1.132-dist-clean::;rm -rf dist/*
1.133+clean-dist::;rm -rf dist/*
1.134
1.135 ### Quickstart
1.136 quick:code