一个简单的Makefile有关问题

一个简单的Makefile问题
当前目录下有三个文件夹 common decomp comp

每个文件夹下有一堆c文件和h文件 假设common下有文件common1.c common1.h common2.c common2.h 其他依次类推……
文件夹内部各文件间乱七八糟的依赖

在当前目录下写一个测试程序 test.c 其中用到了上述三个文件夹中的程序

现在想在当前目录下写一个makefile 生成一个可执行文件test

怎么写?

新手,欢迎鄙视

C/C++ code

C_SRCS += \
src1/common1.cpp \
src2/common2.cpp \
src3/common3.cpp \
test.c

OBJS += \
src1/common1.o \
src2/common2.o \
src3/common3.o \
test.o

all: test

test: $(OBJS)
@echo 'Building target: $@'
g++ -o test $(OBJS) -L./ $(LIBS) -lxml2

%.o: src1/%.cpp
@echo 'Building file: $<'
g++ -c $< -MD "-D_DEBUG" "-D__cplusplus" -L./lib -I/usr/include/ -I/usr/include/libxml2 `
@echo 'Finished building: $<'

%.o: src2/%.cpp
@echo 'Building file: $<'
g++ -c $< -MD "-D_DEBUG" "-D__cplusplus" -L./lib -I/usr/include/ -I/usr/include/libxml2 `
@echo 'Finished building: $<'

%.o: src3/%.cpp
@echo 'Building file: $<'
g++ -c $< -MD "-D_DEBUG" "-D__cplusplus" -L./lib -I/usr/include/ -I/usr/include/libxml2 `
@echo 'Finished building: $<'

一个简单的Makefile有关问题

相关文章:

你感兴趣的文章:

标签云: