I created a Buidroot package with the both following files :
.mk
AVM_VERSION = $(BR2_PACKAGE_AVM_TARGET)-V00.00.01
AVM_SITE_METHOD = git
AVM_SITE = ssh://git@myownserver.com/App/AVM.git
AVM_INSTALL_TARGET = YES
define AVM_BUILD_CMDS
$(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/AVM $(@D)/avm.c
endef
define AVM_INSTALL_STAGING_CMDS
$(MAKE) DESTDIR=$(STAGING_DIR) -C $(@D) install
endef
define AVM_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/AVM $(TARGET_DIR)/usr/bin/avm
endef
$(eval $(generic-package))
Config.in
config BR2_PACKAGE_AVM
bool "AVM"
help
Application for embedded platform.
config BR2_PACKAGE_AVM_TARGET
string "AVM package target"
depends on BR2_PACKAGE_AVM
help
Define board
I succedded in compiling the package by using the above .mk file. However, because I wanted to modify the source code into output/build I note the following behavior (After removing only .stamp_built) :
$ make AVM
>>> AVM v00.00.01 Extracting
...
>>> AVM v00.00.01 Patching
>>> AVM v00.00.01 Configuring
>>> AVM v00.00.01 Building
...
I obtain a new Extracting, Patching, Configuring, Building even if no .stamp removed...
What's wrong ?
EDIT :
The problem seems to come from the AVM_VERSION definition. When I exchange $(BR2_PACKAGE_AVM_TARGET)
by its value I am getting make: Nothing to do for « AVM ».
This variable, named $(BR2_PACKAGE_AVM_TARGET), has been defined into the defconfig file associated to the board as BR2_PACKAGE_AVM_TARGET="AVM2.3"