Estoy tratando de crear un paquete de instalación para OpenWrt. [Hay un supuesto tutorial con un ejemplo en la pagina oficial ][1], intentando recrearlo me ha resultado imposible por los constantes errores, buscando esos errores encontré esta pregunta [openwrtwhat-can-i-do-to-package-bin-files-into-ipk-packages?][2] en la cual te explican como realizar un ejemplo muy concreto, teniendo ese ejemplo y el anterior como base diseñe mi Makefile:
include $(TOPDIR)/rules.mkPKG_NAME:=modbusPKG_VERSION:=1.0PKG_RELEASE:=0# This specifies the directory where we're going to build the program.# The root build directory, $(BUILD_DIR), is by default the build_mipsel# directory in your OpenWrt SDK directoryPKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)include $(INCLUDE_DIR)/package.mkdefine Package/modbus CATEGORY:=test TITLE:=modbus DEPENDS:=+libstdcppendefdefine Package/modbus/description modbus interfaceendefdefine Package/modbus/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) ./src/bandwidth-client $(1)/modendef# This line executes the necessary commands to compile our program.# The above define directives specify all the information needed, but this# line calls BuildPackage which in turn actually uses this information to# build a package.$(eval $(call BuildPackage,modbus))
Tras esto lo añadí con el comando ./scripts/feeds update -i && ./scripts/feeds install modbus y lo añadió con éxito, si se realiza un make menuconfig se puede encontrar en la sección test y marcarlo para su compilación.
La estructura del paquete es la siguiente (dentro de /feeds/packages/utils/modbus), por un lado el Makefile y por otro la carpeta src/bandwidth-client y mi objetivo es que todo esto me genere un ipk que instale bandwidth-client en la carpeta /mod del dispositivo. bandwidth-client ya esta compilado.
El problema se encuentra a la hora de la compilación, en el momento del make siempre me lanza el siguiente error :
make[3] -C feeds/packages/utils/modbus compile
make[4]: Entering directory `openwrt/build_dir/target-mipsel_24kc_musl/modbus'make[4]: *** No targets specified and no makefile found. Stop.
Es como si siempre tratara de recompilarlo y no encontrase un Makefile en target-mipsel_24kc_musl/modbus. Cuando segun lo que pone deberia simplemente crear el ipk.
Actualización: si dentro de la carpeta SRC añado el Makefile el error pasa a ser :
make[4]: Entering directory `openwrt/build_dir/target-mipsel_24kc_musl/modbus'make[4]: *** No targets. Stop.
make package/modbus/compile[1]: https://openwrt.org/docs/guide-developer/packages[2]: https://stackoverflow.com/questions/53662534/openwrtwhat-can-i-do-to-package-bin-files-into-ipk-packages?answertab=active#tab-top