Refine compilation of regression tests

This commit is contained in:
Ruihan Li
2024-02-29 17:05:35 +08:00
committed by Tate, Hongliang Tian
parent 26d17704bf
commit c15eb2299b
10 changed files with 38 additions and 22 deletions

View File

@ -8,9 +8,15 @@ REGRESSION_BUILD_DIR ?= $(INITRAMFS)/regression
TEST_APPS := signal_c pthread network hello_world hello_pie hello_c fork_c fork execve pty TEST_APPS := signal_c pthread network hello_world hello_pie hello_c fork_c fork execve pty
.PHONY: all .PHONY: all
all: all: $(TEST_APPS) scripts
@mkdir -p $(REGRESSION_BUILD_DIR)
@for test_app in $(TEST_APPS); \ .PHONY: $(TEST_APPS)
do make --no-print-directory -C $${test_app}; \ $(TEST_APPS):
done @make --no-print-directory -C $@
$(REGRESSION_BUILD_DIR):
@mkdir -p $@
.PHONY: scripts
scripts: | $(REGRESSION_BUILD_DIR)
@make --no-print-directory BUILD_DIR=$(REGRESSION_BUILD_DIR) -C scripts @make --no-print-directory BUILD_DIR=$(REGRESSION_BUILD_DIR) -C scripts

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static EXTRA_C_FLAGS := -static

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static -nostdlib EXTRA_C_FLAGS := -static -nostdlib

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static EXTRA_C_FLAGS := -static

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static -mno-sse EXTRA_C_FLAGS := -static -mno-sse

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static -nostdlib EXTRA_C_FLAGS := -static -nostdlib

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static -lpthread EXTRA_C_FLAGS := -static -lpthread

View File

@ -1,5 +1,10 @@
# SPDX-License-Identifier: MPL-2.0 # SPDX-License-Identifier: MPL-2.0
SOURCES := $(wildcard *.sh)
TARGETS := $(addprefix $(BUILD_DIR)/, $(SOURCES))
.PHONY: all .PHONY: all
all: ./*.sh all: $(TARGETS)
@cp ./*.sh $(BUILD_DIR)
$(BUILD_DIR)/%.sh: %.sh
@cp $< $@

View File

@ -2,4 +2,4 @@
include ../test_common.mk include ../test_common.mk
EXTRA_C_FLAGS :=-static EXTRA_C_FLAGS := -static

View File

@ -4,25 +4,30 @@ MAIN_MAKEFILE := $(firstword $(MAKEFILE_LIST))
INCLUDE_MAKEFILE := $(lastword $(MAKEFILE_LIST)) INCLUDE_MAKEFILE := $(lastword $(MAKEFILE_LIST))
CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE))) CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE)))
CUR_DIR_NAME := $(shell basename $(realpath $(CUR_DIR))) CUR_DIR_NAME := $(shell basename $(realpath $(CUR_DIR)))
REGRESSION_BUILD_DIR := $(CUR_DIR)/../../build/initramfs/regression BUILD_DIR := $(CUR_DIR)/../../build
OBJ_OUTPUT_DIR := $(REGRESSION_BUILD_DIR)/$(CUR_DIR_NAME) OBJ_OUTPUT_DIR := $(BUILD_DIR)/initramfs/regression/$(CUR_DIR_NAME)
DEP_OUTPUT_DIR := $(BUILD_DIR)/dep/$(CUR_DIR_NAME)
C_SRCS := $(wildcard *.c) C_SRCS := $(wildcard *.c)
C_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(C_SRCS:%.c=%)) C_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(C_SRCS:%.c=%))
C_DEPS := $(addprefix $(DEP_OUTPUT_DIR)/,$(C_SRCS:%.c=%.d))
ASM_SRCS := $(wildcard *.s) ASM_SRCS := $(wildcard *.s)
ASM_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_SRCS:%.s=%)) ASM_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_SRCS:%.s=%))
CC := gcc CC := gcc
C_FLAGS := C_FLAGS :=
.PHONY: all .PHONY: all
all: $(OBJ_OUTPUT_DIR) $(C_OBJS) $(ASM_OBJS) all: $(C_OBJS) $(ASM_OBJS)
$(OBJ_OUTPUT_DIR): $(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR):
@mkdir -p $(OBJ_OUTPUT_DIR) @mkdir -p $@
$(CUR_DIR)/../../build/initramfs/regression/$(CUR_DIR_NAME)/%: %.c $(OBJ_OUTPUT_DIR)/%: %.c | $(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR)
@$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ @$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ \
-MMD -MF $(DEP_OUTPUT_DIR)/$*.d
@echo "CC <= $@" @echo "CC <= $@"
$(CUR_DIR)/../../build/initramfs/regression/$(CUR_DIR_NAME)/%: %.s -include $(C_DEPS)
$(OBJ_OUTPUT_DIR)/%: %.s | $(OBJ_OUTPUT_DIR)
@$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ @$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@
@echo "CC <= $@" @echo "CC <= $@"