Windows下的Makefile

有时想写几个小程序作为测试用,又不想开虚拟机,也不想开VS。只想简单用个编辑器写完,在命令行里编译运行看结果。于是就自己整理了一个在Windows下可用的Makefile。
我似乎对Makefile情有独钟,接触Linux后,搞了驱动的Makefile模板,应用程序的Makefile模板(而且还搞了好几套不同应用场合的模板),现在又搞Windows平台的模板。可见本人的确是无事找事做之人。
闲话少提,下面给出我整理后的Makefile模板:

# This is a simple Makefile under Windows using cl.exe and link.exe
# By Late Lee Copyleft 2011 2012
# note
# 1. you should make sure cl.exe and link.exe in your $PATH
# usage
# dos:\nmake -f Makefile_win32  (using -f to specify the Makefile)
# dos:\nmake    (if your Makefile is just "Makefile")

# !!!=== your executable file
TARGET = a.exe
CC = cl.exe
LINK = link.exe
RM = del

# /MDd 
# /I*your-inc-dir*
CFLAGS = /nologo /D  "WIN32" /Od /c /Tp
CPPFLAGS = /nologo /D  "WIN32" /Od /c
LDFLAGS = /nologo

# /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib 
# /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib

# LDFLAGS = /NODEFAULTLIB:library

# !!!===your c source file
SRCS_C   = 
# !!!===your c++ source file
SRCS_CXX = main.cpp

OBJS_C   = $(SRCS_C:.c=.obj)
OBJS_CXX = $(SRCS_CXX:.cpp=.obj)

!MESSAGE begin....
all: clean  $(TARGET)
# @$(RM) *.obj
         @echo  "Done."
$(TARGET)$(OBJS_C)  $(OBJS_CXX)
# $(CC) $(CFLAGS) $(OBJS) -o $@
         $(LINK)  $*$(LDFLAGS) /OUT: $@

# compile .c as .cpp
.c.obj::
         $(CC)   $(CFLAGS)  $<
.cpp.obj::
         $(CC)  $(CPPFLAGS)  $<
#$(OBJS): $(SRCS)
# $(CC) -c $**
clean:
         @echo  "Cleaning..."
         $(RM)  $(TARGET) *.obj
         @echo  "Done."

.PHONY: clean  all the world

这个Makefile比较简单,所以只适用于简单的场合。
上述内容参考了一些网络资料,因为比较常用,所以不列出来。


网页语法高亮由 迟思堂工作室强力支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值