Makefile cleanup, default to binary prefix
This commit is contained in:
parent
7f9a82752d
commit
40d9117b17
4
Makefile
4
Makefile
|
@ -20,7 +20,7 @@ clean:
|
|||
rm -rf build
|
||||
|
||||
distclean:
|
||||
make clean
|
||||
$(MAKE) clean
|
||||
cd cookbook && ./unfetch.sh
|
||||
|
||||
pull:
|
||||
|
@ -62,7 +62,7 @@ include mk/virtualbox.mk
|
|||
|
||||
# CI image target
|
||||
ci-img: FORCE
|
||||
make INSTALLER_FLAGS= \
|
||||
$(MAKE) INSTALLER_FLAGS= \
|
||||
build/coreboot.elf.gz \
|
||||
build/harddrive.bin.gz \
|
||||
build/livedisk.iso.gz \
|
||||
|
|
43
mk/config.mk
43
mk/config.mk
|
@ -1,34 +1,48 @@
|
|||
# Configuration
|
||||
## Architecture to build Redox for (aarch64 or x86_64)
|
||||
ARCH?=x86_64
|
||||
## Flags to pass to the installer (empty to download binary packages)
|
||||
INSTALLER_FLAGS?=--cookbook=cookbook
|
||||
PREFIX_BINARY?=0
|
||||
## Enabled to use binary prefix (much faster)
|
||||
PREFIX_BINARY?=1
|
||||
## Enabled to build custom rustc
|
||||
PREFIX_RUSTC?=0
|
||||
# Filesystem Size in MB
|
||||
## Filesystem size in MB (256 is the default)
|
||||
FILESYSTEM_SIZE?=256
|
||||
|
||||
# Per host variables
|
||||
UNAME := $(shell uname)
|
||||
ifeq ($(UNAME),Darwin)
|
||||
ECHO=/bin/echo
|
||||
FUMOUNT=sudo umount
|
||||
export NPROC=sysctl -n hw.ncpu
|
||||
PREFIX_BINARY=0
|
||||
VB_AUDIO=coreaudio
|
||||
VBM="/Applications/VirtualBox.app/Contents/MacOS/VBoxManage"
|
||||
VBM=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage
|
||||
else
|
||||
ECHO=echo
|
||||
FUMOUNT=fusermount -u
|
||||
export NPROC=nproc
|
||||
VB_AUDIO="pulse"
|
||||
VB_AUDIO=pulse
|
||||
VBM=VBoxManage
|
||||
endif
|
||||
|
||||
# Automatic variables
|
||||
ROOT=$(PWD)
|
||||
ROOT=$(CURDIR)
|
||||
export RUST_TARGET_PATH=$(ROOT)/kernel/targets
|
||||
export XARGO_HOME=$(ROOT)/build/xargo
|
||||
export XARGO_RUST_SRC=$(ROOT)/rust/src
|
||||
|
||||
# Cross compiler variables
|
||||
## Kernel variables
|
||||
KTARGET=$(ARCH)-unknown-none
|
||||
KBUILD=build/kernel
|
||||
|
||||
## Userspace variables
|
||||
export TARGET=$(ARCH)-unknown-redox
|
||||
BUILD=build/userspace
|
||||
|
||||
## Bootloader variables
|
||||
EFI_TARGET=$(ARCH)-efi-pe
|
||||
|
||||
## Cross compiler variables
|
||||
AR=$(TARGET)-gcc-ar
|
||||
AS=$(TARGET)-as
|
||||
CC=$(TARGET)-gcc
|
||||
|
@ -41,18 +55,7 @@ RANLIB=$(TARGET)-gcc-ranlib
|
|||
READELF=$(TARGET)-readelf
|
||||
STRIP=$(TARGET)-strip
|
||||
|
||||
# Rust cross compile variables
|
||||
## Rust cross compile variables
|
||||
export AR_$(subst -,_,$(TARGET))=$(TARGET)-ar
|
||||
export CC_$(subst -,_,$(TARGET))=$(TARGET)-gcc
|
||||
export CXX_$(subst -,_,$(TARGET))=$(TARGET)-g++
|
||||
|
||||
# Bootloader variables
|
||||
EFI_TARGET=$(ARCH)-efi-pe
|
||||
|
||||
# Kernel variables
|
||||
KTARGET=$(ARCH)-unknown-none
|
||||
KBUILD=build/kernel
|
||||
|
||||
# Userspace variables
|
||||
export TARGET=$(ARCH)-unknown-redox
|
||||
BUILD=build/userspace
|
||||
|
|
28
mk/prefix.mk
28
mk/prefix.mk
|
@ -21,8 +21,8 @@ $(PREFIX)/relibc-install: $(ROOT)/relibc | $(PREFIX)/gcc-install
|
|||
cd "$<" && \
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
||||
export CARGO=xargo && \
|
||||
make -j `nproc` all && \
|
||||
make -j `nproc` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||
make -j `$(NPROC)` all && \
|
||||
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
||||
|
@ -62,8 +62,8 @@ $(PREFIX)/binutils-install: $(PREFIX)/binutils
|
|||
--prefix="" \
|
||||
--disable-werror \
|
||||
&& \
|
||||
make -j `nproc` all && \
|
||||
make -j `nproc` install DESTDIR="$(ROOT)/$@.partial"
|
||||
make -j `$(NPROC)` all && \
|
||||
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
||||
|
@ -93,8 +93,8 @@ $(PREFIX)/gcc-freestanding-install: $(PREFIX)/gcc | $(PREFIX)/binutils-install
|
|||
--enable-languages=c,c++ \
|
||||
--without-headers \
|
||||
&& \
|
||||
make -j `nproc` all-gcc all-target-libgcc && \
|
||||
make -j `nproc` install-gcc install-target-libgcc DESTDIR="$(ROOT)/$@.partial"
|
||||
make -j `$(NPROC)` all-gcc all-target-libgcc && \
|
||||
make -j `$(NPROC)` install-gcc install-target-libgcc DESTDIR="$(ROOT)/$@.partial"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
||||
|
@ -105,8 +105,8 @@ $(PREFIX)/rust-freestanding-install: $(ROOT)/rust | $(PREFIX)/gcc-freestanding-i
|
|||
cd "$(PREFIX)/rust-freestanding-build" && \
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
||||
"$</configure" --prefix="" --disable-docs && \
|
||||
make -j `nproc` && \
|
||||
make -j `nproc` install DESTDIR="$(ROOT)/$@.partial"
|
||||
make -j `$(NPROC)` && \
|
||||
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial"
|
||||
mkdir -p "$@.partial/lib/rustlib/x86_64-unknown-linux-gnu/bin"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
@ -118,8 +118,8 @@ $(PREFIX)/relibc-freestanding-install: $(ROOT)/relibc | $(PREFIX_FREESTANDING_IN
|
|||
cd "$<" && \
|
||||
export PATH="$(PREFIX_FREESTANDING_PATH):$$PATH" && \
|
||||
export CARGO=xargo && \
|
||||
make -j `nproc` all && \
|
||||
make -j `nproc` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||
make -j `$(NPROC)` all && \
|
||||
make -j `$(NPROC)` install DESTDIR="$(ROOT)/$@.partial/$(TARGET)"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
||||
|
@ -141,8 +141,8 @@ $(PREFIX)/gcc-install: $(PREFIX)/gcc | $(PREFIX)/relibc-freestanding-install
|
|||
--enable-languages=c,c++ \
|
||||
--enable-threads=posix \
|
||||
&& \
|
||||
make -j `nproc` all-gcc all-target-libgcc all-target-libstdc++-v3 && \
|
||||
make -j `nproc` install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="$(ROOT)/$@.partial"
|
||||
make -j `$(NPROC)` all-gcc all-target-libgcc all-target-libstdc++-v3 && \
|
||||
make -j `$(NPROC)` install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="$(ROOT)/$@.partial"
|
||||
touch "$@.partial"
|
||||
mv "$@.partial" "$@"
|
||||
|
||||
|
@ -161,8 +161,8 @@ $(PREFIX)/gcc-install.tar.gz: $(PREFIX)/gcc-install
|
|||
# cd "$(PREFIX)/rust-build" && \
|
||||
# export PATH="$(PREFIX_PATH):$$PATH" && \
|
||||
# "$</configure" --target="$(TARGET)" --prefix="$@" --disable-docs && \
|
||||
# make -j `nproc` && \
|
||||
# make install -j `nproc`
|
||||
# make -j `$(NPROC)` && \
|
||||
# make -j `$(NPROC)` install
|
||||
# touch "$@"
|
||||
|
||||
endif
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
BUILDDIR = $(abspath $(dir $(firstword $(MAKEFILE_LIST))))/build
|
||||
virtualbox: build/harddrive.bin
|
||||
echo "Delete VM"
|
||||
-$(VBM) unregistervm Redox --delete; \
|
||||
|
@ -23,10 +22,10 @@ virtualbox: build/harddrive.bin
|
|||
$(VBM) modifyvm Redox --nictype1 82540EM; \
|
||||
$(VBM) modifyvm Redox --cableconnected1 on; \
|
||||
$(VBM) modifyvm Redox --nictrace1 on; \
|
||||
$(VBM) modifyvm Redox --nictracefile1 "$(BUILDDIR)/network.pcap"; \
|
||||
$(VBM) modifyvm Redox --nictracefile1 "$(ROOT)/$(BUILD)/network.pcap"; \
|
||||
fi
|
||||
$(VBM) modifyvm Redox --uart1 0x3F8 4
|
||||
$(VBM) modifyvm Redox --uartmode1 file "$(BUILDDIR)/serial.log"
|
||||
$(VBM) modifyvm Redox --uartmode1 file "$(ROOT)/$(BUILD)/serial.log"
|
||||
$(VBM) modifyvm Redox --usb off # on
|
||||
$(VBM) modifyvm Redox --keyboard ps2
|
||||
$(VBM) modifyvm Redox --mouse ps2
|
||||
|
|
Loading…
Reference in a new issue