GO-LANG Windows下通用Makefile文件

本文介绍了一个用于Go语言项目的Makefile样例,详细展示了如何通过不同的编译指令来完成项目的编译、打包及清理等操作。该配置适用于跨平台编译,并且能够针对不同操作系统进行定制化设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

O=8
AS=${O}a
CC=${O}c
GC=${O}g
LD=${O}l
OS=568vq
CFLAGS=-FVw
ifeq ($(GOOS), windows)
EXT=exe
RM=del /Q
CP=copy
else
EXT=out
RM=rm
CP=cp
endif
MKDIR=mkdir
.SUFFIXES: .go .oo .8 .a .$(EXT)
GOFILES=\
file.go

PACK_FILES=\
domain.go test.go

pkgdir=..\\build

all: package cptobuild

.PHONY : clean
clean:
-$(RM) $(pkgdir)
-$(RM) *.a
-$(RM) *.oo
-$(RM) *.8
-$(RM) *.$(EXT)
-$(MKDIR) $(pkgdir)

package: $(PACK_FILES:.go=.a) $(GOFILES:.go=.$(EXT))

cptobuild:
-$(RM) $(pkgdir)
-$(MKDIR) $(pkgdir)
-$(CP) *.a $(pkgdir)
-$(CP) *.$(EXT) $(pkgdir)
-$(RM) *.a
-$(RM) *.oo
-$(RM) *.8
-$(RM) *.$(EXT)
echo $(subst \\,/,$(pkgdir))

%.$(EXT): %.8
$(LD) -L . -o $@ $<

$(GOFILES:.go=.8): %.8: %.go
$(GC) -I . -o $@ $(GOFILES)

%.a: %.oo
gopack grc $@ $<

$(PACK_FILES:.go=.oo): %.oo: %.go
$(GC) -o $@ $<


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值