SDK Hello World - Pacakege Problem?

Hi, so I am trying to test writing a custom appliaction on a RUT, I have several but for this test I am using the most recent SDK for a RUT240. I have a fresh install of Ubuntu18 as recommended. I am able to create and compile the following code on Ubuntu

#include <stdio.h>
 
int main(void)
{
    printf("\nHello, world!\n\n");
    return 0;
}

This is saved in
~/RUTX_R/rutos-ath79-rut2-gpl/helloworld

I have followed the instructions from OpenWrt https://openwrt.org/docs/guide-developer/helloworld/chapter2

I have created a Makefile shown below and saved it to

/RUTX_R/rutos-ath79-rut2-gpl/mypackages/examples/helloworld

as per the instructions, then I have tried to register the package
in feeds.conf.default, there are some repos pointed to already there

src-link mypackages ~/RUTX_R/rutos-ath79-rut2-gpl/mypackages
src-git packages https://git.openwrt.org/feed/packages.git^65057dcbb5de371503c9159de3d45824bec482e0
src-git luci https://git.openwrt.org/project/luci.git^3b3c2e5f9f82372df8ff01ac65668be47690dcd5
src-git routing https://git.openwrt.org/feed/routing.git^c30c9ffc93702365439a7647244a052531f2e957
src-git telephony https://git.openwrt.org/feed/telephony.git^7f73a9ad19269dcddcb7fc26e03a9823717587bb

I update and install the feeds, (there are no errors) using

./scripts/feeds update mypackages
./scripts/feeds install -a -p mypackages

But when I run make menuconfig I don’t see any reference to my ‘hello world’ application?

I think I am having a problem with the feed/packages and perhaps I am adding the src-link to the wrong file?

Any help would be great!

MAKEFILE:

include $(TOPDIR)/rules.mk

# Name, version and release number
# The name and version of your package are used to define the variable to point to the build directory of your package: $(PKG_BUILD_DIR)
PKG_NAME:=helloworld
PKG_VERSION:=1.0
PKG_RELEASE:=1

# Source settings (i.e. where to find the source codes)
# This is a custom variable, used below
SOURCE_DIR:=~/RUTX_R/rutos-ath79-rut2-gpl/helloworld

include $(INCLUDE_DIR)/package.mk

# Package definition; instructs on how and where our package will appear in the overall configuration menu ('make menuconfig')
define Package/helloworld
  SECTION:=examples
  CATEGORY:=Examples
  TITLE:=Hello, World!
endef

# Package description; a more verbose description on what our package does
define Package/helloworld/description
  A simple "Hello, world!" -application.
endef

# Package preparation instructions; create the build directory and copy the source code. 
# The last command is necessary to ensure our preparation instructions remain compatible with the patching system.
define Build/Prepare
		mkdir -p $(PKG_BUILD_DIR)
		cp $(SOURCE_DIR)/* $(PKG_BUILD_DIR)
		$(Build/Patch)
endef

# Package build instructions; invoke the target-specific compiler to first compile the source file, and then to link the file into the final executable
define Build/Compile
		$(TARGET_CC) $(TARGET_CFLAGS) -o $(PKG_BUILD_DIR)/helloworld.o -c $(PKG_BUILD_DIR)/helloworld.c
		$(TARGET_CC) $(TARGET_LDFLAGS) -o $(PKG_BUILD_DIR)/$1 $(PKG_BUILD_DIR)/helloworld.o
endef

# Package install instructions; create a directory inside the package to hold our executable, and then copy the executable we built previously into the folder
define Package/helloworld/install
		$(INSTALL_DIR) $(1)/usr/bin
		$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/bin
endef

# This command is always the last, it uses the definitions and variables we give above in order to get the job done
$(eval $(call BuildPackage,helloworld))

This topic was automatically closed after 15 days. New replies are no longer allowed.