现在的位置: 首页 > 综合 > 正文

Akagi201的Linux驱动通用Makefile

2013年08月19日 ⁄ 综合 ⁄ 共 1729字 ⁄ 字号 评论关闭
###############################################################################
# @file Makefile
# @note HangZhou Hikvision Digital Technology Co., Ltd. All Right Reserved.
# @brief    Linux Device Driver Generic Makefile
# 
# @author   liuboyf1
# @data     2012-09-28
# @version  V1.0.6
# @note     History:
# @note     <author>    <time>       <version>    <desc>
# @note     liuboyf1    2012-08-30   V1.0.0       创建文件
# @note     liuboyf1    2012-09-26   V1.0.1       修改了CFLAGS为EXTRA_CFLAGS
# @note     liuboyf1    2012-09-26   V1.0.2       简化了调试宏部分
# @note     liuboyf1    2012-09-28   V1.0.3       修改rm为-rm
# @note     liuboyf1    2012-10-08   V1.0.4       修改make clean
# @note     liuboyf1    2012-10-10   V1.0.5       修改KERNELDIR
# @note     liuboyf1    2012-10-15   V1.0.6       修改了调试参数和布局
###############################################################################

# The prefix to be added before the GNU compiler tools (optionally including
# path), i.e. "arm-linux-" or "/opt/bin/arm-linux-".
#TOOL_DIR = /opt/v5t_le-mv401_uc
# 交叉编译工具
#TOOL_PREFIX = $(TOOL_DIR)/bin/arm_v5t_le-

# Comment/uncomment the following line to enable/disable debugging
#DEBUG = y
ifeq ($(DEBUG),y)
	DEBFLAGS = -O -g # "-O" is needed to expand inlines
	DEBFLAGS += -DDEBUG # 控制是否打印调试和错误信息
else
	DEBFLAGS = -O2
endif

EXTRA_CFLAGS += -Wall
EXTRA_CFLAGS += $(DEBFLAGS)
#EXTRA_CFLAGS += -I$(LDDINC)

#tool chain
CC = $(TOOL_PREFIX)gcc
#AR:= $(TOOL_PREFIX)ar -rv

MODULE_NAME = mycdev
ifneq ($(KERNELRELEASE),)

obj-m := $(MODULE_NAME).o
#$(MODULE_NAME)-objs := file_opr.o mem_proc.o main.o

else

# in my Debian6 2.6.32
KERNELVER ?= $(shell uname -r)
KERNELDIR ?= /lib/modules/$(KERNELVER)/build
# in my IPC 2.6.18
#KERNELDIR ?= /home/akagi201/kernel_step

PWD := $(shell pwd)

modules:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
	#cp $(MODULE_NAME).ko $(PWD)/..

modules_install:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
endif

clean:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
.PHONY: modules modules_install clean

depend .depend dep:
	$(CC) $(EXTRA_CFLAGS) -M *.c > .depend

ifeq (.depend,$(wildcard .depend))
	include .depend
endif

抱歉!评论已关闭.