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> # 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 CFLAGS += -Iinclude -Ilib
# 只有Windows会定义该变量 ifeq ($(On-Windows), 1)
ifeq ($(OS), Windows_NT)
CLANG_FLAGS = -target x86_64-pc-windows-gnu CLANG_FLAGS = -target x86_64-pc-windows-gnu
endif endif
ifeq ($(CC), clang) ifeq ($(CC), clang)
CFLAGS += $(CLANG_FLAGS) CFLAGS += $(CLANG_FLAGS)
endif 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 \ 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 -Wno-missing-field-initializers -Wno-unused-parameter -Wno-sign-compare
_C_Warning_Flags := $(WARN) _C_Warning_Flags := $(WARN)
Target_Name = chsrc ifdef DEBUG
CFLAGS += -g
endif
DEBUGGER = gdb
STATIC = 0
#=======================
Target-Name = chsrc
# 由 GitHub Actions 在调用时修改 # 由 GitHub Actions 在调用时修改
CI_ARTIFACT_NAME = chsrc CI_ARTIFACT_NAME = chsrc
DEBUGGER = gdb ifeq ($(MAKECMDGOALS), CI)
ifeq ($(On-Linux), 1)
STATIC = 1
endif
endif
#======================= #=======================
all: 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) @echo; echo Compile done using \'$(CC)\' $(CFLAGS)
CI: all CI: all
@mv $(Target_Name) $(CI_ARTIFACT_NAME) @mv $(Target-Name) $(CI_ARTIFACT_NAME)
debug: CFLAGS += -g debug: CFLAGS += -g
debug: all debug: all
@ -59,10 +87,10 @@ test-fw:
@./fw @./fw
# AUR package 安装时将执行此 target # AUR package 安装时将执行此 target
fastcheck: $(Target_Name) fastcheck: $(Target-Name)
@perl ./test/cli.pl fastcheck @perl ./test/cli.pl fastcheck
test-cli: $(Target_Name) test-cli: $(Target-Name)
@perl ./test/cli.pl @perl ./test/cli.pl
clean: clean: