较为通用的makefile

#较为通用的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

posted @ 2012-03-12 12:26  webols  阅读(129)  评论(0编辑  收藏  举报