include $(TOPDIR)/rules.mk # Назва, версія та реліз PKG_NAME:=helloworld PKG_VERSION:=1.0 PKG_RELEASE:=1 # Розташування вихідного коду SOURCE_DIR:=/home/buildbot/helloworld include $(INCLUDE_DIR)/package.mk # Опис пакета — як він з’явиться в меню make menuconfig define Package/helloworld SECTION:=examples CATEGORY:=Examples TITLE:=Hello, World! endef # Більш докладний опис пакета define Package/helloworld/description A simple "Hello, world!" -application. endef # Підготовка до збірки — створення build-каталогу та копіювання коду define Build/Prepare mkdir -p $(PKG_BUILD_DIR) cp $(SOURCE_DIR)/* $(PKG_BUILD_DIR) $(Build/Patch) endef # Компіляція — спочатку збираємо .o, потім лінкуємо у виконуваний файл 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 # Встановлення — створюємо каталог usr/bin та копіюємо туди виконуваний файл define Package/helloworld/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/bin endef # Завершення — побудова пакета на основі наведених вище правил $(eval $(call BuildPackage,helloworld))