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

Openwrt下的makefile文件、编译

2018年10月06日 ⁄ 综合 ⁄ 共 1082字 ⁄ 字号 评论关闭

openwrt下的makefile文件,不同于普通linux下的makfile文件。

现整理一份在openwrt下写过的makefile,供以后参考。

一、Makefile文件

项目名称为ccon_ap。

1.1 代码

# Kernel module ccon_ap
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=ccon_ap
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define KernelPackage/ccon_ap 
	SUBMENU:=Other modules
	NDS:=@TARGET_octeon
	TITLE:=Support Module for ccon_ap
	AUTOLOAD:=$(call AutoLoad,81,ccon_ap)
	FILES:=$(PKG_BUILD_DIR)/ccon_ap/ccon_ap.$(LINUX_KMOD_SUFFIX)
endef
 define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
	$(CP) -R ./src/* $(PKG_BUILD_DIR)/
endef
 define Build/Compile
	$(MAKE) -C "$(LINUX_DIR)" \
		CROSS_COMPILE="$(TARGET_CROSS)" \
	ARCH="$(LINUX_KARCH)" \
	SUBDIRS="$(PKG_BUILD_DIR)/ccon_ap" \
	EXTRA_CFLAGS="-g $(BUILDFLAGS)" \
	modules
endef
$(eval $(call KernelPackage,ccon_ap))

1.2 对应的目录结构

      ccon_ap目录 -> src目录、Makefile(上面的) -> ccon_ap目录 -> *.h *.c Makefile(见下面)

      目录结构需按上面结构存放,否则需要修改上面的Makefile。

      后面的Makefile,只需要列出要生产的.o文件名,如下:

obj-m := ccon_ap.o
ccon_ap-objs := ap_main.o other.o

二、编译

2.1 配置

      在指定目录下,执行make menuconfig:

            Kernel modules -> Other modules -> kmod-ccon_ap -> 选中(S)

2.2 编译

      编译:make  (如果编译出错,make V=s查看调试信息; 参数 make -j4,是使用4个CPU编译) 

      清除:make clean

抱歉!评论已关闭.