openWrt编译package

  • package目录里文件的放置结构,以cJSON_main为准
package/
├── cJSON_main
│   ├── Makefile
│   └── src
│       ├── bin
│       ├── cJSON_main
│       ├── include
│       │   └── cJSON.h
│       ├── Makefile
│       ├── obj
│       └── src
│           ├── cJSON.c
│           └── cJSON_main.c
├── helloworld
│   ├── Makefile
│   └── src
│       ├── helloworld.c
│       └── Makefile
├── Makefile
└── zigbeeservice
    ├── file
    │   ├── cloud
    │   ├── config_status
    │   ├── iot.crt
    │   ├── restar_service
    │   ├── set_ap
    │   ├── set_sta
    │   ├── zha_config
    │   ├── zha_start
    │   ├── zigbeeserviceStart.sh
    │   └── zigbeeserviceStop.sh
    ├── Makefile
    ├── si
    │   ├── sdk--demo.IAB
    │   ├── sdk--demo.IAD
    │   ├── sdk--demo.IMB
    │   ├── sdk--demo.IMD
    │   ├── sdk--demo.PFI
    │   ├── sdk--demo.PO
    │   ├── sdk--demo.PR
    │   ├── sdk--demo.PRI
    │   ├── sdk--demo.PS
    │   ├── sdk--demo.SearchResults
    │   └── sdk--demo.WK3
    └── src
        ├── aes.c
        ├── aes.h
        ├── cJSON.c
        ├── cJSON.h
        ├── defines.h
        ├── include
        │   ├── alink_export_zigbee.h
        │   ├── cJSON.h
        │   ├── hal_types.h
        │   ├── platform.h
        │   ├── types.h
        │   ├── uart.h
        │   ├── user_api.h
        │   ├── user_cb.h
        │   ├── user_types.h
        │   └── zigbeezap.h
        ├── libshuncomzigbee.so
        ├── Makefile
        ├── mqtt.c
        ├── mqtt.h
        ├── ubus.c
        ├── ubus.h
        ├── zha_strategy.c
        ├── zha_strategy.h
        └── zigbeeservice.c

  • 外层Makefile

include $(TOPDIR)/rules.mk

PKG_NAME:=cJSON_main
PKG_RELEASE:=1


PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)


include $(INCLUDE_DIR)/package.mk

define Package/cJSON_main
        SECTION:=utils
        CATEGORY:=Utilities
        TITLE:=cJSON_main -- prints a snarky message
endef


define Package/cJSON_main/description
        >>>>>>>>>It is walter`s cJSON_main package demo.<<<<<<<<<
endef

define Build/Prepare
    echo "Here is Package/Prepare"
    mkdir -p $(PKG_BUILD_DIR)
    $(CP) ./src/* $(PKG_BUILD_DIR)/
endef

#define Build/Compile
#   $(MAKE) -C $(PKG_BUILD_DIR) \
#       $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_DIR)/include"
#endef

define Package/cJSON_main/install
    echo "Here is Package/install"
    $(INSTALL_DIR) $(1)/bin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/cJSON_main $(1)/bin/
endef


$(eval $(call BuildPackage,cJSON_main))
  • 内层Makefile
CC:=gcc
CFLAGS:=-Iinclude 
CFLAGS+=-c
TARGET:=./cJSON_main
DEPEND:=obj/cJSON_main.o
DEPEND+=obj/cJSON.o


$(TARGET):$(DEPEND)
    $(CC) -o $@ $^ -lm

obj/%.o:src/%.c
    $(CC) -o $@ $(CFLAGS) $^ -Wall


clean:
    rm -fr $(DEPEND)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值