如何在子目录中生成包含源的Makefile?

时间:2012-11-28 02:59:28

标签: c++ makefile

我的来源有以下方式。

/src/main.cpp
/src/hearts/hearts.cpp
/src/spades/spades.cpp
/src/oldmaid/oldmaid.cpp

我将如何为此创建一个makefile?

2 个答案:

答案 0 :(得分:1)

执行此操作的一种简单方法是将所有源添加到变量中,并在make命令中使用该变量。这是一个相关部分的片段。

APP_SRC=src/main.cpp \
    src/hearts/hearts.cpp \
    src/spades/spades.cpp \
    src/oldmaid/oldmaid.cpp

CC=g++
CFLAGS= -Wall (and any other flags you need)


#
# Rules for building the application and library 
#
all: 
make bin


bin: 
$(CC)  $(CFLAGS) $(APP_SRC)

这是一本link一本好书,可以开始学习Make。

答案 1 :(得分:1)

我的Makefile的摘录。这将搜索src目录中的cpp文件并进行编译。您可以添加新文件并自动选择它们。

CC = g++  

all: compile
   find src -name '*.o' -print0 | xargs -0 $(CC) -o myExecutable

compile:
    find src -name '*.cpp' -print0 | xargs -0 $(CC) -c

clean:
    find src -iname '*.o' -print0 | xargs -0 rm