mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-19 04:26:39 +00:00
Refine compilation of regression tests
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
26d17704bf
commit
c15eb2299b
@ -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
|
||||||
|
@ -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 $< $@
|
||||||
|
@ -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 <= $@"
|
||||||
|
Reference in New Issue
Block a user