git push -u origin main
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# Makefile for TLUSTY extracted modules
|
||||
# 使用大内存模型支持大型 COMMON 数组
|
||||
|
||||
FC = gfortran
|
||||
FFLAGS = -O3 -fno-automatic -mcmodel=large
|
||||
|
||||
# 编译输出目录
|
||||
BUILD_DIR = build
|
||||
|
||||
# 目标可执行文件
|
||||
MAIN = $(BUILD_DIR)/tlusty_extracted
|
||||
|
||||
# 所有 .f 源文件
|
||||
SRCS = $(wildcard *.f)
|
||||
|
||||
# 目标文件(放在build目录)
|
||||
OBJS = $(patsubst %.f,$(BUILD_DIR)/%.o,$(notdir $(SRCS)))
|
||||
|
||||
# 默认目标
|
||||
all: $(BUILD_DIR) $(MAIN)
|
||||
@echo "=========================================="
|
||||
@echo "编译成功: $(MAIN)"
|
||||
@echo "=========================================="
|
||||
|
||||
# 创建build目录
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
# 链接所有目标文件
|
||||
$(MAIN): $(OBJS)
|
||||
$(FC) $(FFLAGS) -o $@ $(OBJS)
|
||||
|
||||
# 编译规则
|
||||
$(BUILD_DIR)/%.o: %.f | $(BUILD_DIR)
|
||||
$(FC) $(FFLAGS) -c $< -o $@
|
||||
|
||||
# 清理
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
# 只编译不链接(检查语法)
|
||||
compile-only: $(OBJS)
|
||||
@echo "所有文件编译完成(未链接)"
|
||||
|
||||
# 统计信息
|
||||
stats:
|
||||
@echo "=== 编译统计 ==="
|
||||
@echo "源文件数: $(words $(SRCS))"
|
||||
@echo "目标文件数: $(words $(OBJS))"
|
||||
@wc -l *.f | tail -1
|
||||
|
||||
.PHONY: all clean compile-only stats
|
||||
Reference in New Issue
Block a user