文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一个通用的makefile

一个通用的makefile

时间:2010-06-03  来源:Codeplayer

HOST   = #(specify host type here, such as arm-linux or arm-uclibc-linux)
CC     = gcc
RANLIB = ranlib

ifneq ($(HOST),)
HOSTE  = $(addsuffix -,$(HOST))
CC     = $(addprefix $(HOSTE),gcc)
RANLIB = $(addprefix $(HOSTE),ranlib)
endif

#specify prefix here
PREFIX =

#specify your custmized compile flags here
CFLAGS  = -Wall
LDFLAGS = 

makefile

include config.mk

CFLAGS += -I$(PREFIX)/usr/local/include/
LDFLAGS += -L$(PREFIX)/usr/local/lib

ifeq ($(TYPE),debug)
CFLAGS += -g3
else
ifeq ($(TYPE), release)
CFLAGS += -O2
else
CFLAGS += -g -O
endif
endif

SRC = $(notdir $(wildcard *.c))
OBJ = $(patsubst %.c,%.o,$(SRC))
EXE = $(notdir $(PWD))
LIB = lib$(EXE).a
DEPEND = $(notdir $(wildcard .depend))

all:.depend $(EXE)

.depend: $(SRC)
    $(CC) $(CFLAGS) -w -MM $^ > $@

$(EXE): $(OBJ)
    $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

$(LIB):$(LIB)($(OBJ))
    $(RANLIB) $@
lib: $(LIB)
clean:
    $(RM) $(EXE) $(OBJ) .depend $(LIB)

ifneq ($(DEPEND),)
include .depend
endif
相关阅读 更多 +
排行榜 更多 +
宝宝情商养成宝宝巴士

宝宝情商养成宝宝巴士

休闲益智 下载
燥热手机版

燥热手机版

飞行射击 下载
巨人狙击手安卓版

巨人狙击手安卓版

飞行射击 下载