Posted on 2009-06-01 14:32
Prayer 閱讀(253)
評論(0) 編輯 收藏 引用 所屬分類:
C/C++ 、
LINUX/UNIX/AIX
今天,花了很長時間,終于寫了個比較通用的Makefile,本來想在網上找的,結果發現都不太合用,結果還是自己動手,豐衣足食啊!
目錄結構如下
project-src 代碼文件 *.c
-inc 頭文件 *.h
-obj 中間文件 *.o
out 輸出可執行文件
TARGET = out
RM = rm
CC = gcc
CFLAGS = -O2
INCLUDES := -I ./inc
LIBS := libjpeg.a
SRCDIR := src
OBJDIR := obj
#######################一下內容無需設置###########################
SRCS = $(wildcard $(SRCDIR)/*.c)
CSRC := $(subst $(SRCDIR)/,,$(SRCS))
OBJS := $(CSRC:%.c=$(OBJDIR)/%.o)
all: $(TARGET)
@echo Build DONE.
$(TARGET): $(OBJS)
$(CC) -o $(TARGET) $(OBJS) $(LIBS)
$(OBJS):$(SRCS)
@mkdir -p $(OBJDIR)
$(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $(subst $(OBJDIR),$(SRCDIR),$*.c)
clean:
$(RM) -fr $(OBJDIR)
$(RM) -f $(TARGET)