I have a local cmake-based package. After installing the feed and the package I try to compile it and I get this error message:
No rule to make target 'all'.
I realize that the build is looking for a Makefile wrapper to cmake, and I also realize that this Makefile is probably generated during the configuration or preparation phase, but I don't understand how to configure my package Makefile such that the build system causes the compilation Makefile to be generated.
Here is my package Makefile (omitting proprietary information):
include $(TOPDIR)/rules.mk
PKG_NAME:=mypackage
PKG_VERSION:=0.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
MAINTAINER:=Dynastic Space <dynastic@hotmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
CMAKE_INSTALL:=1
BASE_PACKAGE_DIR:=/home/User/projects/base_dir/
SOURCE_DIR:=$(BASE_PACKAGE_DIR)/Subdir/Board
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/mypackage
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Application
DEFAULT:=y
DEPENDS += +libtalloc
endef
define Package/mypackage/description
mypackage is an application
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)/output; \
$(CP) -R $(BASE_PACKAGE_DIR)/sdk $(PKG_BUILD_DIR); \
$(CP) -R $(BASE_PACKAGE_DIR)/Subdir/Board/CMakeLists.txt $(PKG_BUILD_DIR); \
$(CP) -R $(BASE_PACKAGE_DIR)/Subdir/Board/src $(PKG_BUILD_DIR); \
$(CP) -R $(BASE_PACKAGE_DIR)/Subdir/OS/openwrt $(PKG_BUILD_DIR)/;
endef
define Build/Configure
endef
define Build/Compile
$(call Build/Compile/Default,all)
endef
define Package/mypackage/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(PKG_BUILD_DIR)/output/mypackage $(1)/usr/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/mypackage.init $(1)/etc/init.d/mypackage
endef
$(eval $(call BuildPackage,mypackage))