mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-25 22:14:34 +00:00
69 lines
1.9 KiB
Makefile
69 lines
1.9 KiB
Makefile
export DOCKER_ROOT = $(CURDIR)/docker-root
|
|
DOCKER_IMAGE_NAME = fennix-userspace
|
|
|
|
export CMAKE_INSTALL_PREFIX := $(DOCKER_ROOT)
|
|
export CMAKE_SYSROOT := $(DOCKER_ROOT)
|
|
|
|
export LDFLAGS := --sysroot=$(DOCKER_ROOT) \
|
|
-ggdb3 -O0
|
|
export CFLAGS := \
|
|
--sysroot=$(DOCKER_ROOT) \
|
|
-I$(DOCKER_ROOT)/include \
|
|
-DDEBUG -ggdb3 -O0 -fdiagnostics-color=always
|
|
|
|
create_docker_out:
|
|
rm -rf cache
|
|
rm -rf $(DOCKER_ROOT)
|
|
mkdir -p $(DOCKER_ROOT)
|
|
mkdir -p $(DOCKER_ROOT)/bin
|
|
mkdir -p $(DOCKER_ROOT)/etc
|
|
mkdir -p $(DOCKER_ROOT)/lib
|
|
mkdir -p $(DOCKER_ROOT)/lib64
|
|
mkdir -p $(DOCKER_ROOT)/include/linux
|
|
mkdir -p $(DOCKER_ROOT)/usr/bin
|
|
mkdir -p $(DOCKER_ROOT)/usr/share/doc
|
|
mkdir -p $(DOCKER_ROOT)/usr/share/info
|
|
mkdir -p $(DOCKER_ROOT)/usr/include
|
|
mkdir -p $(DOCKER_ROOT)/usr/lib
|
|
|
|
build_docker_coreutils:
|
|
mkdir -p cache/coreutils
|
|
cd cache/coreutils && \
|
|
cmake $(CURDIR)/../coreutils \
|
|
-DCMAKE_INSTALL_PREFIX:PATH=$(DOCKER_ROOT) \
|
|
-DCMAKE_SYSROOT=$(DOCKER_ROOT) \
|
|
-DCMAKE_C_STANDARD_INCLUDE_DIRECTORIES=$(DOCKER_ROOT)/include \
|
|
-DCMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES=$(DOCKER_ROOT)/include \
|
|
&& \
|
|
make -j$(shell nproc) && \
|
|
make install
|
|
|
|
build_docker_libc:
|
|
mkdir -p cache/libc
|
|
cd cache/libc && \
|
|
cmake $(CURDIR)/../libc \
|
|
-DCMAKE_INSTALL_PREFIX=$(DOCKER_ROOT) \
|
|
-DCMAKE_SYSROOT=$(DOCKER_ROOT) \
|
|
-DCMAKE_INSTALL_INCLUDEDIR=include \
|
|
-DCMAKE_INSTALL_LIBDIR=lib \
|
|
-DCMAKE_INSTALL_BINDIR=bin && \
|
|
make -j$(shell nproc) && \
|
|
make install
|
|
|
|
docker_image:
|
|
docker build -t $(DOCKER_IMAGE_NAME) -f Dockerfile .
|
|
|
|
docker_run:
|
|
@echo "Running container..."
|
|
@docker run -it --name fennix-userspace-instance fennix-userspace:latest /bin/sh || true
|
|
@echo "\nExit code: $$(docker inspect fennix-userspace-instance --format='{{.State.ExitCode}}')"
|
|
@docker rm fennix-userspace-instance >/dev/null 2>&1
|
|
|
|
docker: create_docker_out
|
|
$(MAKE) build_docker_libc
|
|
$(MAKE) build_docker_coreutils
|
|
|
|
clean:
|
|
rm -rf cache
|
|
rm -rf $(DOCKER_ROOT)
|