找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2527|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

實(shí)用型makefile模版

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:72519 發(fā)表于 2015-1-23 19:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
將makefile放入項(xiàng)目的頂層目錄,會(huì)自動(dòng)去查找所有子目錄的c、s、S、h文件。適合小項(xiàng)目工程編譯,如果項(xiàng)目大,目錄、文件多,編譯效率會(huì)比較慢。

#*****************************************************************************
#
# Copyright 2012 UU_Dou <UU_Dou@163.com>
# Date: 2012-11-23
#
#*****************************************************************************

VERSION = 1
PATCHLEVEL = 0
SUBLEVEL = 0

PROJECT_VERSION=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)

ELF_TARGET=main.elf

ARCH             = I386
CROSS_COMPILE     =
COMPILE_PRIOR     = -O2
COMPILE_CFLAGS     = -c
DEBUG_CFLAG     = -g

$(ARCH)_CFLAGS = -Wpointer-arith -Wstrict-prototypes -Wundef -pipe -Wall

CC            = $(CROSS_COMPILE)gcc
AR            = $(CROSS_COMPILE)ar
LD            = $(CROSS_COMPILE)ld
OBJDUMP        = $(CROSS_COMPILE)objdump
READELF        = $(CROSS_COMPILE)readelf
OBJCOPY        = $(CROSS_COMPILE)objcopy
NM            = $(CROSS_COMPILE)nm
RM             = $(CROSS_COMPILE)rm

C_SOURCES := $(shell find ./ -name "*.c")
S_SOURCES := $(shell find ./ -name "*.[Ss]")
H_INCLUDES := $(shell find ./ -name "*.[hH]")

OBJECTS := $(subst .c,.o,$(C_SOURCES))
OBJECTS += $(subst .s,.o,$(S_SOURCES))
OBJECTS += $(subst .S,.o,$(S_SOURCES))

$(ELF_TARGET) : $(OBJECTS)
    @set -e
    @$(CC) $< -o $@
    @echo "complie OK"

$(OBJECTS):$(C_SOURCES)
    @echo "compling $(shell basename $<)"
    @set -e
    @$(CC) $< $($(ARCH)_CFLAGS) $(COMPILE_CFLAGS) $(COMPILE_PRIOR) $(DEBUG_CFLAG) -o $@

clean:
    $(shell if [ -e $(ELF_TARGET) ]; then $(RM) $(ELF_TARGET); fi)
    $(shell if [ -e $(OBJECTS) ]; then $(RM) $(OBJECTS); fi)
    @echo "clean $(ELF_TARGET)"
    @echo "clean $(filter %.o,$(OBJECTS))"


       #makefile

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表