I am new to openwrt.
I am trying to cross compile helloworld program.Steps are discussed below.
1] Downloaded lede SDK.
2] The SDK build successfully(using make command).
3] Then i created helloworld folder inside package folder.
4] In helloworld folder i created src folder and Makefile
5] Inside src folder contains the helloworld.cpp and its Makefile
The Makefile inside helloworld folder(in step 4) is given below :
include $(TOPDIR)/rules.mk
# Your program's name, package version and release number
PKG_NAME:=myproject
PKG_VERSION:=0.0.1
PKG_RELEASE:=1
# Setting the standard path where to build it.
# Nothing to change here actually.
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
# Package description
define Package/helloworld
# Section and category in OpenWRT's package hierarchy
SECTION:=base
CATEGORY:=Utilities
# Should it be built by default?
DEFAULT:=n
# Package title
TITLE:=This is my first project
# Package URL
URL:=Other
# packages your program needs (our doesn't need anything, so let's comment it out)
# DEPENDS:=+libstdcpp
endef
# Long description, you can put a few lines of text here
define Package/helloworld/description
This! Is! My! First! Project!
endef
# What OpenWRT SDK should do before compiling the package
# 1. Create building directory
# 2. Copy package sources to it (in our case - from the src/ directory)
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
endef
# Building the package, nothing actually to change here now
define Build/Configure
$(call Build/Configure/Default,--with-linux-headers=$(LINUX_DIR))
endef
# Package installation
# 1. Specify the destination directory (on Unwired One, not your PC; will be created if doesn't exists yet)
# 2. Copy executable files to it
# If you have more than one executable in you program - list them one by one
define Package/helloworld/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/bin/
endef
$(eval $(call BuildPackage, helloworld)
6] Then from root folder i executed the make command make packages/helloworld/{clean,compile} V=s
But I got the following error “No rule to make target ‘packages/helloworld’.
How can i solve this issue.I need to create a package file (.ipk) of helloworld.