Skip to content

Instantly share code, notes, and snippets.

@simonmorley
Last active September 12, 2016 10:37
Show Gist options
  • Save simonmorley/e8318ad1db8474494ce15432d724af77 to your computer and use it in GitHub Desktop.
Save simonmorley/e8318ad1db8474494ce15432d724af77 to your computer and use it in GitHub Desktop.
SocketMan OpenWRT Test Makefile
# Copyright (C) 2016 Cucumber WiFi
#
# This is free software, licensed under the GNU General Public License v2.
CUCUMBER="-D__OPENWRT__"
# CUCUMBER += "-D__OPENWRT__"
# TARGET_CFLAGS += $(FPIC)
# TARGET_CFLAGS += "-DPUMPY"
# TESTING=-DPUMPY
include $(TOPDIR)/rules.mk
PKG_NAME:=SocketMan
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=$(COMMIT)
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE_URL:=https://github.com/cucumber-tony/SocketMan.git
PKG_SOURCE:=$(PKG_NAME).tar.gz
PKG_VERSION:=v1
include $(INCLUDE_DIR)/package.mk
define Package/socketman
SECTION:=cucumber
CATEGORY:=Cucumber Tony
DEPENDS:=+libjson-c +curl +libcurl +libopenssl +libpthread +libmosquitto +@LIBCURL_OPENSSL +libc +libnl
TITLE:=SocketMan communication package for Cucumber Tony
URL:=http://www.cucumberwifi.io
endef
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
mkdir -p $(PKG_BUILD_DIR)/build
mkdir -p $(PKG_BUILD_DIR)/obj
tar -C $(DL_DIR) -xzvf $(DL_DIR)/$(PKG_NAME).tar.gz
$(CP) $(DL_DIR)/$(PKG_NAME)/src/* $(PKG_BUILD_DIR)/
endef
# define Package/socketman/conffiles
# /etc/config/socketman
# endef
define Package/socketman/description
This package contains the communication package of CT
endef
define Package/socketman/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_BUILD_DIR)/socketman $(1)/usr/bin/socketman
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) files/socketman.init $(1)/etc/init.d/socketman
endef
$(eval $(call BuildPackage,socketman))
.PHONY: clean
clean:
rm -rf $(DL_DIR)/$(PKG_NAME)*
@simonmorley
Copy link
Author

We always export the vars before, because they don't always get set during compile. I don't know why...

export CUCUMBER=-D__OPENWRT__
export IP=192.168.142.1
export COMMIT=xxx

Then compile with:

make package/feeds/cucumber/socketman/clean &&\
make package/feeds/cucumber/socketman/compile -j1 V=s &&\
scp bin/ar71xx/packages/cucumber/socketman_v1_ar71xx.ipk root@$IP:/tmp/ &&\
ssh root@$IP 'opkg remove socketman &&\
opkg install /tmp/socketman_v1_ar71xx.ipk'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment