分享自己编写的一个比较通用的makefile
程序员文章站
2022-07-02 17:05:01
...
#############################################################################
# Author: jianwang16
# Date: 2017 06 18
# E-mail: [email protected]
#############################################################################
CROSS_COMPILE ?=
TARGET = main
#CUR_DIR = $(shell pwd)
CUR_DIR = .
SRCDIR = $(CUR_DIR)/src
INCDIR = $(CUR_DIR)/inc
OBJDIR = $(CUR_DIR)/obj
LIB = -lwiringPi
VPATH = src:inc
CC := $(CROSS_COMPILE)gcc
CFLAGS = -O2 -I$(INCDIR) -Wall -g -std=c99
# *.c->*.o
SOURCES = $(foreach dir,$(SRCDIR),$(wildcard $(dir)/*.c))
#$(info SOURCES:$(SOURCES))
OBJECTS = $(addprefix $(OBJDIR)/,$(patsubst %.c,%.o,$(notdir $(SOURCES))))
#$(info OBJECTS:$(OBJECTS))
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(info Building $(TARGET) with $(OBJECTS) and $(LIB)...)
@$(CC) $(OBJECTS) -o $(TARGET) $(CFLAGS) $(LIB)
@chmod a+x $(TARGET)
$(info Building [email protected] finished)
$(OBJDIR)/%.o:%.c $(INCLUDES) | $(OBJDIR)
$(info Compiling [email protected] from $<...)
@$(CC) -c $(CFLAGS) $< -o [email protected]
$(info Compiling [email protected] finished)
$(info )
$(OBJDIR):
@mkdir -p $(OBJDIR)
.PHONY:clean all
clean:
@$(RM) $(OBJDIR)/*.o main
上一篇: 怎么把AI文件导入PS分层?
下一篇: JavaScript-简单的页面输入控制
推荐阅读
-
分享一个C++与Python开发的中小型通用游戏服务端框架(跨平台,开源,适合MMORPG游戏)
-
自己编写一个wordpress导出的xml提取脚本
-
一个基于phpQuery的php通用采集类分享
-
C++ 实验二 NO.1_(3) 1:熟悉DEV环境,练习自己的第一个程序使用DEV集成环境来编辑,运行简单的数据输入和运算实验。(3)编写一个程序,要求:提示输入3个数;显示这3个数,求他们的平均值
-
编写一个属于自己的DPDK应用程序(DPDK入门向)
-
分享一个C#编写简单的聊天程序(详细介绍)
-
分享一个自己弄的RSA秘钥格式转换的工具
-
分享自己编写的一个比较通用的makefile
-
分享一个比较通用的Makefile
-
分享一个支持多目录层级的通用型Makefile配置文件