【golang-makefile】最全的go语言makefile文件

GOCMD := go
GOBUILD := $(GOCMD) build
GOCLEAN := $(GOCMD) clean
GOTEST := $(GOCMD) test
GODEPS := $(GOCMD) mod download
GOGENERATE := $(GOCMD) generate
GOLINTER := go run
BINARY_NAME := batch-mailing
MAIN_FILE := main.go

# 设置要排除的目录列表(根据实际情况更改)
EXCLUDE_DIRS := ./vendor ./.git ./.idea ./examples ./test

# 查找所有非排除目录的目录
SRC_DIRS := $(shell find . -type d $(foreach dir,$(EXCLUDE_DIRS),-not -path "$(dir)*"))

# 构建目标:生成代码
generate:
	@for dir in $(SRC_DIRS); do \
		echo "Generating code in directory: $$dir"; \
		(cd $$dir && $(GOGENERATE) -v); \
	done

# 构建目标:代码格式检测
lint:
	$(GOLINTER) ./...

# 构建目标:运行测试
test:
	$(GOTEST) ./...

# 构建目标:编译代码
build:
	$(GOBUILD) -o $(BINARY_NAME) $(MAIN_FILE)

# 构建目标:清理项目
clean:
	$(GOCLEAN)
	rm -f $(BINARY_NAME)

# 构建目标:安装依赖
deps:
	$(GODEPS)

# 构建目标:执行所有构建步骤
all: generate lint test build

相关推荐

  1. golang-makefilego语言makefile文件

    2024-07-19 12:16:04       17 阅读
  2. <span style='color:red;'>Makefile</span>

    Makefile

    2024-07-19 12:16:04      51 阅读
  3. [C++] Makefile语法规则

    2024-07-19 12:16:04       55 阅读
  4. C语言makefile语法

    2024-07-19 12:16:04       31 阅读
  5. Makefile: 解决.c文件依赖.h文件问题

    2024-07-19 12:16:04       17 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 12:16:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 12:16:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 12:16:04       58 阅读
  4. Python语言-面向对象

    2024-07-19 12:16:04       69 阅读

热门阅读

  1. 【MySQL】数据库LOCK锁类型

    2024-07-19 12:16:04       21 阅读
  2. 【Qt+opencv】基础的图像绘制

    2024-07-19 12:16:04       20 阅读
  3. git删除本地远程分支

    2024-07-19 12:16:04       16 阅读
  4. 面向开发者的提示词工程第五章-推断

    2024-07-19 12:16:04       20 阅读
  5. C# 4.List

    2024-07-19 12:16:04       18 阅读
  6. 声音处理:分帧与加窗

    2024-07-19 12:16:04       20 阅读
  7. spring 同类方法调用事务失效解决办法

    2024-07-19 12:16:04       14 阅读
  8. 前端面试题日常练-day93 【Less】

    2024-07-19 12:16:04       21 阅读