No rule to make target (apk/host, Lua)

Hi everyone,
I'm new to OpenWrt and development firmware.

Lately, I had a problem when building packages, one of them is

make[2]: *** No rule to make target 'package/system/apk/host/compile', needed by 'package/utils/lua/compile'.  Stop.

I also used the command

make package/system/apk/host/compile V=s

And get the same result

No rule to make target 'package/system/apk/host/compile'.  Stop

Below are two Makefiles of apk and lua.

include $(TOPDIR)/rules.mk

PKG_NAME:=apk
PKG_VERSION:=2.12.2
PKG_RELEASE:=$(AUTORELEASE)

PKG_SOURCE:=apk-tools-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://gitlab.alpinelinux.org/alpine/apk-tools/-/archive/v$(PKG_VERSION)
PKG_HASH:=25871a92c1b272bb58c5494208875d2e915b902a6da9183a361b098891e83acf
PKG_BUILD_DIR:=$(BUILD_DIR)/apk-tools-v$(PKG_VERSION)

PKG_MAINTAINER:=Paul Spooren <mail@aparcar.org>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=LICENSE

PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1

include $(INCLUDE_DIR)/package.mk

define Package/apk
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=apk package manager
  DEPENDS:=+zlib +libopenssl @!arc
  URL:=$(PKG_SOURCE_URL)
endef

define Package/alpine-keys
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=Alpine apk public signing keys
  DEPENDS:=apk
endef

define Package/alpine-repositories
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=Official Alpine repositories
  DEPENDS:=apk
endef

MAKE_FLAGS += LUA=no

define Package/apk/install
	$(INSTALL_DIR) $(1)/lib/apk/db

	$(INSTALL_DIR) $(1)/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/sbin/apk $(1)/bin/apk

	$(INSTALL_DIR) $(1)/usr/lib
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/lib/* $(1)/usr/lib/

	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/apk.pc \
		$(1)/usr/lib/pkgconfig/

	$(INSTALL_DIR) $(1)/etc/apk/
	echo $(ARCH) > $(1)/etc/apk/arch
	touch $(1)/etc/apk/world
endef

define Package/alpine-keys/install
	$(INSTALL_DIR) $(1)/etc/apk/keys
	$(INSTALL_DATA) ./files/alpine-keys/* $(1)/etc/apk/keys
endef

define Package/alpine-repositories/install
	$(INSTALL_DIR) $(1)/etc/apk/keys
	$(INSTALL_DATA) ./files/alpine-repositories $(1)/etc/apk/repositories
endef

$(eval $(call BuildPackage,apk))
$(eval $(call BuildPackage,alpine-keys))
$(eval $(call BuildPackage,alpine-repositories))
#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=lua
PKG_VERSION:=5.1.5
PKG_RELEASE:=9

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.lua.org/ftp/ \
	http://www.tecgraf.puc-rio.br/lua/ftp/
PKG_HASH:=2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333
PKG_BUILD_PARALLEL:=1

PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYRIGHT

HOST_PATCH_DIR := ./patches-host

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk

define Package/lua/Default
  SUBMENU:=Lua
  SECTION:=lang
  CATEGORY:=Languages
  TITLE:=Lua programming language
  URL:=http://www.lua.org/
  MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
endef

define Package/lua/Default/description
 Lua is a powerful light-weight programming language designed for extending 
 applications. Lua is also frequently used as a general-purpose, stand-alone 
 language. Lua is free software.
endef

define Package/liblua
$(call Package/lua/Default)
  SUBMENU:=
  SECTION:=libs
  CATEGORY:=Libraries
  TITLE+= (libraries)
  ABI_VERSION:=5.1.5
endef

define Package/liblua/description
$(call Package/lua/Default/description)
 This package contains the Lua shared libraries, needed by other programs.
endef

define Package/lua
$(call Package/lua/Default)
  DEPENDS:=+liblua
  TITLE+= (interpreter)
endef

define Package/lua/description
$(call Package/lua/Default/description)
 This package contains the Lua language interpreter.
endef

define Package/luac
$(call Package/lua/Default)
  DEPENDS:=+liblua
  TITLE+= (compiler)
endef

define Package/luac/description
$(call Package/lua/Default/description)
 This package contains the Lua language compiler.
endef

define Package/lua-examples
$(call Package/lua/Default)
  DEPENDS:=lua
  TITLE+= (examples)
endef

define Package/lua-examples/description
$(call Package/lua/Default/description)
 This package contains Lua language examples.
endef

define Build/Configure
endef

TARGET_CFLAGS += -DLUA_USE_LINUX $(FPIC) -std=gnu99

define Build/Compile
	$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
		CC="$(TARGET_CROSS)gcc" \
		AR="$(TARGET_CROSS)ar rcu" \
		RANLIB="$(TARGET_CROSS)ranlib" \
		INSTALL_ROOT=/usr \
		CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \
		MYLDFLAGS="$(TARGET_LDFLAGS) $(if $(CONFIG_USE_GLIBC),-lm -ldl)" \
		PKG_VERSION=$(PKG_VERSION) \
		linux
	rm -rf $(PKG_INSTALL_DIR)
	mkdir -p $(PKG_INSTALL_DIR)
	$(MAKE) -C $(PKG_BUILD_DIR) \
		INSTALL_TOP="$(PKG_INSTALL_DIR)/usr" \
		install
endef

define Host/Configure
	$(SED) 's,"/usr/local/","$(STAGING_DIR_HOSTPKG)/",' $(HOST_BUILD_DIR)/src/luaconf.h
endef

ifeq ($(HOST_OS),Darwin)
	LUA_OS:=macosx
else
	ifeq ($(HOST_OS),FreeBSD)
		LUA_OS:=freebsd
	else
		LUA_OS:=linux
	endif
endif

define Host/Compile
	$(MAKE) -C $(HOST_BUILD_DIR) \
		CC="$(HOSTCC) -std=gnu99" \
		$(LUA_OS)
endef

define Host/Install
	$(MAKE) -C $(HOST_BUILD_DIR) \
		INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" \
		install

	$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/pkgconfig
	$(CP) $(HOST_BUILD_DIR)/etc/lua.pc $(STAGING_DIR_HOSTPKG)/lib/pkgconfig/lua5.1.pc

	$(LN) lua5.1 $(STAGING_DIR_HOSTPKG)/bin/lua
	$(LN) luac5.1 $(STAGING_DIR_HOSTPKG)/bin/luac
	$(LN) lua5.1.pc $(STAGING_DIR_HOSTPKG)/lib/pkgconfig/lua.pc
endef

define Build/InstallDev
	$(INSTALL_DIR) $(1)/usr/include
	$(CP) $(PKG_INSTALL_DIR)/usr/include/lua{,lib,conf}.h $(1)/usr/include/
	$(CP) $(PKG_INSTALL_DIR)/usr/include/lua.hpp $(1)/usr/include/
	$(CP) $(PKG_INSTALL_DIR)/usr/include/lauxlib.h $(1)/usr/include/
	$(CP) $(PKG_INSTALL_DIR)/usr/include/lnum_config.h $(1)/usr/include/
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.{a,so*} $(1)/usr/lib/
	$(LN) liblua.so.$(PKG_VERSION) $(1)/usr/lib/liblualib.so
	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
	$(CP) $(PKG_BUILD_DIR)/etc/lua.pc $(1)/usr/lib/pkgconfig/
endef

define Package/liblua/install
	$(INSTALL_DIR) $(1)/usr/lib
	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblua.so.* $(1)/usr/lib/
endef

define Package/lua/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.1 $(1)/usr/bin/
	$(LN) lua5.1 $(1)/usr/bin/lua
endef

define Package/luac/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.1 $(1)/usr/bin/
	$(LN) luac5.1 $(1)/usr/bin/luac
endef

define Package/lua-examples/install
	$(INSTALL_DIR) $(1)/usr/share/lua/examples
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/test/*.lua \
		$(1)/usr/share/lua/examples/
endef

$(eval $(call BuildPackage,liblua))
$(eval $(call BuildPackage,lua))
$(eval $(call BuildPackage,luac))
$(eval $(call BuildPackage,lua-examples))
$(eval $(call HostBuild))

Is there any way to solve this problem? Sorry if this question is too basic, but I could not find out any satisfactory answers elsewhere.
Thank you for any help.

I can't figure out why lua would require that non-existent apk/host package.
Are you trying to sign packages for alpine, or something like that?

@aparcar is the maintainer for apk, and might know something about the issue.

Sorry but I don't understand what you mean by "sign packages". And I really don't know why the lua requires the apk-tool. Besides, this is all about PACKAGE_alpine that I found in tmp/.config-package.in, does it contain any useful information to debug?

config PACKAGE_alpine
		tristate "alpine"
		default y if DEFAULT_alpine
		default m if ALL
		select PACKAGE_libc
		select PACKAGE_libpthread if USE_GLIBC
		select PACKAGE_librt if USE_GLIBC
		select PACKAGE_libiconv-full if BUILD_NLS
		select PACKAGE_libpthread
		select PACKAGE_libopenssl
		select PACKAGE_libintl-full if BUILD_NLS
		select PACKAGE_libncurses
		select PACKAGE_libpam
		help
		 Alpine (Alternatively Licensed Program for Internet News and Email) is a
		  free software email client developed at the University of Washington.
		  It is suitable for both the inexperienced email user as well as for
		  the most demanding power user.
		  This package is built with OpenSSL support.
		 http://alpine.x10host.com/alpine/
		 Antti Seppälä <a.seppala@gmail.com>

	config PACKAGE_alpine-nossl
		tristate "alpine-nossl"
		default y if DEFAULT_alpine-nossl
		default m if ALL
		select PACKAGE_libpthread
		select PACKAGE_libiconv-full if BUILD_NLS
		select PACKAGE_libopenssl
		select PACKAGE_libintl-full if BUILD_NLS
		select PACKAGE_libc
		select PACKAGE_librt if USE_GLIBC
		select PACKAGE_libpthread if USE_GLIBC
		select PACKAGE_libncurses
		select PACKAGE_libpam
		depends on BROKEN
		help
		 Alpine (Alternatively Licensed Program for Internet News and Email) is a
		  free software email client developed at the University of Washington.
		  It is suitable for both the inexperienced email user as well as for
		  the most demanding power user.
		  This package is built without OpenSSL support.
		 http://alpine.x10host.com/alpine/
		 Antti Seppälä <a.seppala@gmail.com>

config PACKAGE_alpine-keys
		tristate "alpine-keys............................... Alpine apk public signing keys"
		default y if DEFAULT_alpine-keys
		default m if ALL
		select PACKAGE_libpthread if USE_GLIBC
		depends on PACKAGE_apk
		select PACKAGE_librt if USE_GLIBC
		select PACKAGE_libc
		help
		 Alpine apk public signing keys
		 Paul Spooren <mail@aparcar.org>

	config PACKAGE_alpine-repositories
		tristate "alpine-repositories......................... Official Alpine repositories"
		default y if DEFAULT_alpine-repositories
		default m if ALL
		select PACKAGE_libc
		select PACKAGE_libpthread if USE_GLIBC
		depends on PACKAGE_apk
		select PACKAGE_librt if USE_GLIBC
		help
		 Official Alpine repositories
		 Paul Spooren <mail@aparcar.org>