Makefile,递归编译和静态库

时间:2013-02-11 21:27:30

标签: c++ makefile

我在多个目录中得到了一个包含代码的项目,我想要的是递归编译每个目录,我就可以这样做。

我可以创建静态库,以便使用此makefile

创建.a个文件
CXX=g++
CXXFLAGS=-std=c++11
PROJECT=admin.a

OBJECTS = Manager.o


all: $(PROJECT)

.cpp.o:
    @echo -e "\033[32m -Building "$*"...\033[0m"
    $(CXX) -c $(CXXFLAGS) $<

$(PROJECT): $(OBJECTS)
    @echo -ne "\033[31m -Creating static library "$*"..."
    @(ar rcs $(PROJECT) $(OBJECTS))
    @echo -e "[DONE] \033[0m"

clean:
    @(rm -rf *.o)

mrproper: clean
    @(rm -rf $(EXEC))

但我不知道如何将这些与我的主程序相关联,

任何帮助都非常有用,

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以直接在链接器行中包含静态库(.a):

gcc -o executable main.o admin.a