#较为通用的makefile:
#应用自动变量 ($@ $^ $<)
# $@---目标文件
# $^---所有的依赖文件
# $<---第一个依赖文件
#命令行必需以[Tab]键开始,以和Makefile其他行区别。
CC = gcc
CFLAGS = -Wall -O -g3
INCLUDE = #要包含的头文件目录 -I/usr/include/mysql
LFLAGS = #链接库-L/usr/lib/mysql -lmysqlclient -lpthread
LFLAGS = -lcurses
TARGET = #程序名
SOUCE_FILES = $(wildcard *.c)
OBJS = $(patsubst %.c,%.o,$(SOUCE_FILES))
%.o : %.c %.h
$(CC) -c $(CFLAGS) $< -o $@
#%.o : %.c
# $(CC) -c $(CFLAGS) $< -o $@
$(TARGET): $(OBJS)
$(CC) $^ -o $@ $(INCLUDE) $(LFLAGS)
.PHONY:clean
clean:
$(RM) $(TARGET) $(OBJS) *.bak
转载于:https://www.cnblogs.com/webols/archive/2012/03/12/2474073.html