Only compile static when CI

[GitHub #173]
This commit is contained in:
Aoran Zeng 2025-03-06 11:17:43 +08:00
parent 47bc5bc81a
commit a033510c52
No known key found for this signature in database
GPG Key ID: 8F8BA8488E10ED98

View File

@ -9,40 +9,68 @@
# Last Modified : <2025-03-06>
# --------------------------------------------------------------
On-Linux = 0
On-Windows = 0
On-macOS = 0
ifeq ($(shell uname), Linux)
On-Linux = 1
endif
# 只有Windows会定义$(OS)变量
ifeq ($(OS), Windows_NT)
On-Windows = 1
endif
#=======================
CFLAGS += -Iinclude -Ilib
# 只有Windows会定义该变量
ifeq ($(OS), Windows_NT)
ifeq ($(On-Windows), 1)
CLANG_FLAGS = -target x86_64-pc-windows-gnu
endif
ifeq ($(CC), clang)
CFLAGS += $(CLANG_FLAGS)
endif
ifeq ($(shell uname), Linux)
CFLAGS += -static
endif
ifdef DEBUG
CFLAGS += -g
endif
override WARN += -Wall -Wextra -Wno-unused-variable -Wno-unused-function -Wno-missing-braces -Wno-misleading-indentation \
-Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare
_C_Warning_Flags := $(WARN)
Target_Name = chsrc
ifdef DEBUG
CFLAGS += -g
endif
DEBUGGER = gdb
STATIC = 0
#=======================
Target-Name = chsrc
# 由 GitHub Actions 在调用时修改
CI_ARTIFACT_NAME = chsrc
DEBUGGER = gdb
ifeq ($(MAKECMDGOALS), CI)
ifeq ($(On-Linux), 1)
STATIC = 1
endif
endif
#=======================
all:
@$(CC) src/chsrc-main.c $(CFLAGS) $(_C_Warning_Flags) -o $(Target_Name)
ifeq ($(STATIC), 1)
CFLAGS += -static
endif
all:
@$(CC) src/chsrc-main.c $(CFLAGS) $(_C_Warning_Flags) -o $(Target-Name)
@echo; echo Compile done using \'$(CC)\' $(CFLAGS)
CI: all
@mv $(Target_Name) $(CI_ARTIFACT_NAME)
@mv $(Target-Name) $(CI_ARTIFACT_NAME)
debug: CFLAGS += -g
debug: all
@ -59,10 +87,10 @@ test-fw:
@./fw
# AUR package 安装时将执行此 target
fastcheck: $(Target_Name)
fastcheck: $(Target-Name)
@perl ./test/cli.pl fastcheck
test-cli: $(Target_Name)
test-cli: $(Target-Name)
@perl ./test/cli.pl
clean: