diff --git a/tools/Makefile b/tools/Makefile index 3ac9b9b58..8f30c125e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -28,6 +28,7 @@ tools-y += firmware-utils patch-image quilt padjffs2 tools-y += mm-macros missing-macros cmake scons bc findutils gengetopt patchelf tools-y += mtools dosfstools libressl tools-$(CONFIG_TARGET_orion_generic) += wrt350nv2-builder upslug2 +tools-y += ucl upx tools-$(CONFIG_TARGET_x86) += qemu tools-$(CONFIG_EFI_IMAGES) += gptfdisk popt tools-$(CONFIG_TARGET_mxs) += elftosb sdimage diff --git a/tools/ucl/Makefile b/tools/ucl/Makefile new file mode 100644 index 000000000..9fb9aec11 --- /dev/null +++ b/tools/ucl/Makefile @@ -0,0 +1,51 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=ucl +PKG_VERSION:=1.03 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.oberhumer.com/opensource/ucl/download/$(PKG_SOURCE) +PKG_HASH:=b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348 + +HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION) + +include $(INCLUDE_DIR)/host-build.mk + +HOSTCC :=gcc +HOST_CFLAGS +=-std=gnu89 + +define Host/Prepare + $(Host/Prepare/Default) + mkdir -p $(STAGING_DIR_HOST)/include/ucl +endef + +define Host/Configure + (cd $(HOST_BUILD_DIR); \ + CC="$(HOSTCC)" \ + CFLAGS="$(HOST_CFLAGS)" \ + ./configure --prefix=$(STAGING_DIR_HOST) \ + ); + $(call Host/Configure/Default) +endef + +define Host/Compile + $(MAKE) -C $(HOST_BUILD_DIR) +endef + +define Host/Install + $(MAKE) -C $(HOST_BUILD_DIR) install +endef + +define Host/Clean + $(MAKE) -C $(HOST_BUILD_DIR) uninstall + rm -rf $(HOST_BUILD_DIR) + rm -rf $(STAGING_DIR_HOST)/include/ucl +endef + +$(eval $(call HostBuild)) diff --git a/tools/upx/Makefile b/tools/upx/Makefile new file mode 100644 index 000000000..39ddae033 --- /dev/null +++ b/tools/upx/Makefile @@ -0,0 +1,37 @@ +# +# Copyright (C) 2011-2020 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=upx +PKG_VERSION:=3.96 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-src.tar.xz +PKG_SOURCE_URL:=https://github.com/upx/upx/releases/download/v$(PKG_VERSION) +PKG_HASH:=47774df5c958f2868ef550fb258b97c73272cb1f44fe776b798e393465993714 + +HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)-src + +include $(INCLUDE_DIR)/host-build.mk + +UPX_UCLDIR := $(BUILD_DIR_HOST)/ucl-1.03 + +define Host/Compile + UPX_UCLDIR=$(UPX_UCLDIR) \ + $(MAKE) -C $(HOST_BUILD_DIR)/src \ + CXXFLAGS_WERROR="" LDFLAGS="$(HOST_LDFLAGS)" \ + CXX="$(HOSTCXX)" +endef + +define Host/Install + $(CP) $(HOST_BUILD_DIR)/src/upx.out $(STAGING_DIR_HOST)/bin/upx +endef + +define Host/Clean + rm -f $(STAGING_DIR_HOST)/bin/upx +endef + +$(eval $(call HostBuild))