XX = g++
XXFLAG = -g -O2 -D_STLP_USE_SIMPLE_NODE_ALLOC -DEMBEDED -D_LARGEFILE64_SOURCE
LIBS= -lpthread -lrt -ldl -lz -lssl -lcrypto
TARGET=test
#srcs
SRCS_CPP += $(wildcard ./json/*.cpp)
SRCS_CPP += $(wildcard ./*.cpp)
#objs
OBJS_CPP = $(patsubst %.cpp, %.o, $(SRCS_CPP))
##########################################################
# building
##########################################################
all:$(TARGET)
$(TARGET) : $(OBJS_CPP)
	$(XX) $^ -o $@ $(LIBS)	
.cpp.o:
	$(XX) $(XXFLAG) -c -o $@ $^
.PHONY : clean	
clean:
	rm -f $(OBJS_CPP) $(TARGET)
1. 自动 遍历 文件 自动 遍历 文件 文件 部分参考 https://blog.csdn.net/yuliying/article/details/49635485, AllDIRS := $(shell ls -R | grep '^\./.*:$$' | awk '{gsub(":","");print}') . CSRCS = $(foreach n,$(All 有时候,我们在开发的时候需要将本次工程的代码分成多个子目录来编写,但是在 Makefile 的编写上却是个问题,下面我就教大家怎么构建带有子 文件 夹的源代码目录的 自动 扫描 编译 下面这张图是我的 文件 树 这里面src目录下是我的源代码,我将功能代码分成了三个子模块,分别为test1, test2, test3, 调用这三个子模块的是main. cpp 文件 ,下面我将这三个子模块的代码// src/ 针对多 文件 makefile 编写,可以写一个通用 makefile 遍历 出每个 文件 夹,然后执行每个 文件 makefile ,这样好处就是我们只需添加我们新增加的目录里面 makefile ,而不必理会之前的 文件 夹结构,非常方便。 1.首先 遍历 当前目录SRC_PATH下 文件 夹 SRC_FOLDER := $(shell find $(SRC_PATH) -maxdepth 1 -type d) BA... SUBINCS = $(shell ls $(INC)) INC_FLAGS += $(foreach n,$(SUBINCS),$(wildcard ./$(INC)/$(n)/*.h)) @echo $(INC_FLAGS) @echo $(INC) @echo $(SUBINCS) 第二句是取include 文件 夹下的所有子目录名 foreach及wildcard函数的用法大家可自... 我有projects,其中包括根项目下的 makefile 喜欢project-Folder1-Folder2-app1-service1- Makefile 现在我想进入 makefile 循环中的 文件 夹(在根目录下)。即在project下打印 文件 夹名称, 文件 夹可以从projectX更改为projectN这一棘手的部分,是否可能?这就是你要找的吗?只列出在bash中使用ls的目录@arjoonn-我可以用它... AR=arLD=ldCC=gcc CFLAGS = -O2 -Wall -I./Test \ -I./Test/Test1 \ #注:"\"后面不能有空格,并且该句写完后最好有个换行 #注释部分推荐在单独的一行编写 #动态库... CFLAG = -g -O2 -std=c++0x -Wno-deprecated #-Wall LIBS = -lm -lstdc++ EXCUTABLE_FILE = test_main TEST_SUBDIR=./test_subdir/ SOURCE=$(wildcard ./...