Makefile万能模板

#########################################################

FNAME : Makefile万能模板

Version :

FUNCTION :

CRATE : 2017-07-10 changzehai

Copyright © 2017 changzehai. All Rights Reserved.

#########################################################
#源文件类型

The valid suffixes are among of .c, .C, .cc, .cpp, .CPP, .c++, .cp, or .cxx.

SRCEXTS := .c # C program

SRCEXTS := .cpp # C++ program

SRCEXTS := .c

#source file
#源文件
HDRS := mfs_init.h

SRCS := mfs_shm_func.c
mfs_file_func.c
mfs_init.c

#目标文件名,输入任意你想要的执行文件名
OBJS := mfs_shm_func.o
mfs_file_func.o
mfs_init.o

PROGRAM := mfsInit

#指定用到的头文件和库文件路径指定
INCLUDE := -I.
-I/usr/include

LIBS := -L/usr/lib
-L/usr/lib64

#目标文件夹指定
HOST_LINUX = ./linux

#编译器
#CC = g++ #c++
CC = gcc #c

#make工具, Makefile指定
MAKE = make
MAKEFILE = Makefile

#compile and lib parameter
#编译参数
LDFLAGS :=
DEFINES :=
CFLAGS := -g -Wall -O3 $(DEFINES) $(INCLUDE)
CXXFLAGS := $(CFLAGS) -DHAVE_CONFIG_H

#下面的基本上不需要做任何改动了
TARGET = all clean
TARGET_LINUX = $(TARGET:=_linux)

default : all

$(OBJS) : $(HDRS) $(SRCS)
@if [ ! -d $(HOST_LINUX) ]; then
echo “Make directory $(HOST_LINUX)”; mkdir -p $(HOST_LINUX); fi
@echo "Compiling -c $(INCLUDE) (@F:.o=(@F:.o=(@F:.o=(SRCEXTS)) -o @"@(@" @(@"@((CC) $(CFLAGS) $(INCLUDE) -c (@F:.o=(@F:.o=(@F:.o=(SRCEXTS)) -o $@)

$(PROGRAM) : $(OBJS)
@if [ ! -d $(HOST_LINUX) ]; then
echo “Make directory $(HOST_LINUX)”; mkdir -p $(HOST_LINUX); fi
@echo "Linking (PROGRAM)"@((PROGRAM)" @((PROGRAM)"@((CC) $(LDFLAGS) $(LIBS) $(OBJS) -o $@)
@echo “done”

all_ : $(PROGRAM)

clean_ :
@rm -f $(OBJS) $(PROGRAM)

$(TARGET) :
@(echo “Making on uname -s … $(@F)”;
$(MAKE) -f $(MAKEFILE) $(@F:=_linux))

$(TARGET_LINUX):
echo (OBJS)@((OBJS) @((OBJS)@((MAKE) -f $(MAKEFILE)
"OBJS=for obj in $(OBJS); do echo -n $(HOST_LINUX)/$${obj} " "; done "
“PROGRAM=(HOSTLINUX)/(HOST_LINUX)/(HOSTLINUX)/(PROGRAM)”
$(@F:linux=))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值