asterinas/regression/Makefile

82 lines
1.6 KiB
Makefile
Raw Normal View History

2023-05-29 05:29:53 +00:00
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
CUR_DIR := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
BUILD_DIR := $(CUR_DIR)/build
INITRAMFS := $(BUILD_DIR)/initramfs
2023-06-19 08:28:14 +00:00
RAMDISK := $(BUILD_DIR)/ramdisk.cpio.gz
SHELL := /bin/bash
2023-05-29 05:29:53 +00:00
.PHONY: all clean
2023-05-29 05:29:53 +00:00
all: build
TARGETS=\
$(INITRAMFS)/lib/x86_64-linux-gnu \
$(INITRAMFS)/lib64 \
$(INITRAMFS)/bin \
$(INITRAMFS)/usr/bin \
$(INITRAMFS)/regression \
$(INITRAMFS)/etc \
$(INITRAMFS)/sbin \
$(INITRAMFS)/root \
$(INITRAMFS)/tmp \
$(INITRAMFS)/opt \
$(INITRAMFS)/proc \
$(INITRAMFS)/dev
# Copy necessary libs
$(INITRAMFS)/lib/x86_64-linux-gnu:
@mkdir -p $@
@cp -L /lib/x86_64-linux-gnu/libc.so.6 $@
@cp -L /lib/x86_64-linux-gnu/libstdc++.so.6 $@
@cp -L /lib/x86_64-linux-gnu/libm.so.6 $@
@cp -L /lib/x86_64-linux-gnu/libgcc_s.so.1 $@
@cp -L /lib/x86_64-linux-gnu/libpthread.so.0 $@
$(INITRAMFS)/lib64:
@mkdir -p $@
@cp -L /lib64/ld-linux-x86-64.so.2 $@
# Install busybox
$(INITRAMFS)/bin:
@mkdir -p $@
@/bin/busybox --install -s $@
$(INITRAMFS)/usr/bin: $(INITRAMFS)/bin
@mkdir -p $@
@cp /usr/bin/busybox $@
# Copy from apps
$(INITRAMFS)/regression:
2023-05-29 05:29:53 +00:00
@make --no-print-directory -C apps
2023-05-29 02:25:12 +00:00
# Make necessary directories
$(INITRAMFS)/etc:
@mkdir -p $@
$(INITRAMFS)/sbin:
@mkdir -p $@
$(INITRAMFS)/root:
@mkdir -p $@
$(INITRAMFS)/tmp:
@mkdir -p $@
$(INITRAMFS)/opt:
@mkdir -p $@
$(INITRAMFS)/proc:
@mkdir -p $@
$(INITRAMFS)/dev:
@mkdir -p $@
$(RAMDISK): $(TARGETS)
@echo "Generating the ramdisk image..."
2023-06-19 08:28:14 +00:00
@(cd $(INITRAMFS); find . | cpio -o -H newc | gzip) > $@
2023-05-29 05:29:53 +00:00
build: $(RAMDISK)
clean:
2023-05-29 05:29:53 +00:00
@rm -rf $(BUILD_DIR)