|
|
Makefile |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
论坛上仍然有人问关于makefile的问题,下面是我总结的一个makefile,其中参考了一些资料,不过有些忘了出处,下面是这些资料的信息,应该可以搜索到,向他们致谢。
How to write a Makefile GNU make 指南(Goerge Foot,翻译: 哈少) GNU Make(Richard M. Stallman and Roland McGrath)
############################################################################# # A general makefile for program. # Created by mount0N ([email protected]) . 2002.10.12 # # # 1, You put all src into the current dir. # your src file name should be .c or .cpp file. # 2, And set compile options and program name. # 3, make depend # to set src dependency relation at first time and every time your change # depend relation. # 4, make # Everything is ok. you can make makefile. hehe. # #############################################################################
CC = gcc CWARN = -Wstrict-prototypes -Wall -Wunused CDEFS = -D_DEBUG CINCS = -I/usr/local/include CFLAGS = $(CWARN) $(CDEFS) $(CINCS) -g -O2 CXXFLAGS = $(CFLAGS) LDFLAGS = -pthread -L/usr/local/lib PROGRAM =
# Donot change below here. SRCS = $(wildcard *.cpp) $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRCS))) DEPEND = makedepend -- $(CFLAGS) -- CTAGS = ctags
all: $(PROGRAM)
$(PROGRAM):$(OBJS)
depend:$(SRCS) $(DEPEND) $(SRCS)
tags:$(SRCS) $(CTAGS) $(SRCS)
clean: -rm -f $(PROGRAM) *.o tags core shar
回复人: mounTon(思考◎痛苦中) ( ) 信誉:100 2002-11-13 11:32:00 得分:0 ############################################################################# # A general makefile for static library. # Created by mount0N([email protected]). 2002.10.12 # # 1, You put all src into the current dir. # your src file name should be .c or .cpp file. # 2, And set compile options and lib name. # 3, make depend # to set src dependency relation at first time and every time you change # dependency relation. # 4, make # Everything is ok. you can make makefile. hehe. # #############################################################################
CC = gcc CWARN = -Wstrict-prototypes -Wall -Wunused CDEFS = CINCS = CFLAGS = $(CWARN) $(CDEFS) $(CINCS) -g -O2 CXXFLAGS = $(CFLAGS) DESTLIB = libxxx.a
#LDFLAGS =
# Donot change below here. SRCS = $(wildcard *.cpp) $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRCS))) DEPEND = makedepend -- $(CPPFLAGS) -- ARFLAGS = cru RUNLIB = ranlib
all: $(DESTLIB)
$(DESTLIB):$(OBJS) $(AR) $(ARFLAGS) $@ $? $(RUNLIB) $(DESTLIB)
depend:$(SRCS) $(DEPEND) $(SRCS)
tags:$(SRCS) $(CTAGS) $(SRCS)
clean: -rm -f $(DESTLIB) *.o tags core shar ############################################################################# # A general makefile for dynamic library. # Created by mount0N([email protected]). 2002.10.12 # # 1, You put all src into the current dir. # your src file name should be .c or .cpp file. # 2, And set compile options and lib name. # 3, make depend # to set src dependency relation at first time and every time you change # dependency relation. # 4, make # Everything is ok. you can make makefile. hehe. # #############################################################################
CC = gcc CWARN = -Wstrict-prototypes -Wall -Wunused CDEFS = -D_DEBUG CINCS = -I/usr/local/include CFLAGS = $(CWARN) $(CDEFS) $(CINCS) -g -O2 CXXFLAGS = $(CFLAGS) LDFLAGS = -pthread -L/usr/local/lib DESTLIB =
# Donot change below here. SRCS = $(wildcard *.cpp) $(wildcard *.c) OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SRCS))) DEPEND = makedepend -- $(CFLAGS) -- CFLAGS += -fPIC CXXFLAGS += -fPIC
all: $(PROGRAM)
$(DESTLIB):$(OBJS) $(CC) -shared -Wl,-soname,$(DESTLIB) $(LDFLAGS) $(LOADLIBES) $(LDLIBS) $^ -o $@
depend:$(SRCS) $(DEPEND) $(SRCS)
tags:$(SRCS) $(CTAGS) $(SRCS)
clean: -rm -f $(DESTLIB) *.o tags core shar
存在的问题: depend需要makedepend 程序; tags需要ctags程序,而且只有vim支持程序的tag;
|
|
相关文章:相关软件: |
|