当前位置: 首页 > Windows程序 > 正文

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比较简单,所以只适用于简单的场合。
上述内容参考了一些网络资料,因为比较常用,所以不列出来。

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

本文固定链接: http://www.latelee.org/programming-under-windows/windows-makefile.html

如无特别说明,迟思堂工作室文章均为原创,转载请注明: Windows下的Makefile | 迟思堂工作室

目前暂无评论

发表评论

*

快捷键:Ctrl+Enter