一、C源码编译下的万能的Makefile
SOURCE = $(wildcard *.c)
TARGETS = $(patsubst %.c, %, $(SOURCE))
CC = gcc
CFLAGS = -Wall -g
all:$(TARGETS)
$(TARGETS):%:%.c
$(CC) $< $(CFLAGS) -o $@
.PHONY:clean all
clean:
-rm -rf $(TARGETS)
二、C++源码编译下的万能的Makefile
SOURCE = $(wildcard *.cpp)
TARGETS = $(patsubst %.cpp, %, $(SOURCE))
CC = g++
CFLAGS = -Wall -g
all:$(TARGETS)
$(TARGETS):%:%.cpp
$(CC) $< $(CFLAGS) -o $@
.PHONY:clean all
clean:
-rm -rf $(TARGETS)
实际上就是将有.c的地方替换成.cpp即可,然后将编译器选择为g++。
这应该可以进一步优化成一个可以编译C/C++的一个Makefile文件,需要以后在用到的时候在研究吧。