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
.PHONY: all
all:
@mkdir -p $(REGRESSION_BUILD_DIR)
@for test_app in $(TEST_APPS); \
do make --no-print-directory -C $${test_app}; \
done
all: $(TEST_APPS) scripts
.PHONY: $(TEST_APPS)
$(TEST_APPS):
@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

View File

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

View File

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

View File

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

View File

@ -2,4 +2,4 @@
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
EXTRA_C_FLAGS :=-static -nostdlib
EXTRA_C_FLAGS := -static -nostdlib

View File

@ -2,4 +2,4 @@
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
SOURCES := $(wildcard *.sh)
TARGETS := $(addprefix $(BUILD_DIR)/, $(SOURCES))
.PHONY: all
all: ./*.sh
@cp ./*.sh $(BUILD_DIR)
all: $(TARGETS)
$(BUILD_DIR)/%.sh: %.sh
@cp $< $@

View File

@ -2,4 +2,4 @@
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))
CUR_DIR := $(shell dirname $(realpath $(MAIN_MAKEFILE)))
CUR_DIR_NAME := $(shell basename $(realpath $(CUR_DIR)))
REGRESSION_BUILD_DIR := $(CUR_DIR)/../../build/initramfs/regression
OBJ_OUTPUT_DIR := $(REGRESSION_BUILD_DIR)/$(CUR_DIR_NAME)
BUILD_DIR := $(CUR_DIR)/../../build
OBJ_OUTPUT_DIR := $(BUILD_DIR)/initramfs/regression/$(CUR_DIR_NAME)
DEP_OUTPUT_DIR := $(BUILD_DIR)/dep/$(CUR_DIR_NAME)
C_SRCS := $(wildcard *.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_OBJS := $(addprefix $(OBJ_OUTPUT_DIR)/,$(ASM_SRCS:%.s=%))
CC := gcc
C_FLAGS :=
.PHONY: all
all: $(OBJ_OUTPUT_DIR) $(C_OBJS) $(ASM_OBJS)
all: $(C_OBJS) $(ASM_OBJS)
$(OBJ_OUTPUT_DIR):
@mkdir -p $(OBJ_OUTPUT_DIR)
$(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR):
@mkdir -p $@
$(CUR_DIR)/../../build/initramfs/regression/$(CUR_DIR_NAME)/%: %.c
@$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@
$(OBJ_OUTPUT_DIR)/%: %.c | $(OBJ_OUTPUT_DIR) $(DEP_OUTPUT_DIR)
@$(CC) $(C_FLAGS) $(EXTRA_C_FLAGS) $< -o $@ \
-MMD -MF $(DEP_OUTPUT_DIR)/$*.d
@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 $@
@echo "CC <= $@"