aboutsummaryrefslogtreecommitdiff
path: root/utils/fakeuname/Makefile
blob: 7d2b3fb030db30779e6d1fb35768cf85b3e35ad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Copyright (C) 2022 Sergey V. Lobanov <sergey@lobanov.in>
#
# SPDX-License-Identifier: GPL-2.0-or-later

include $(TOPDIR)/rules.mk

PKG_NAME:=fakeuname
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-or-later

PKG_MAINTAINER:=Sergey V. Lobanov <sergey@lobanov.in>

PKG_HOST_ONLY:=1

define Package/fakeuname
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=Fake uname host tool for cross-compile purposes
  BUILDONLY:=1
endef

define Package/fakeuname/description
 Fakeuname is a host tool for cross-compile cross-platform builds
 if configure or/and build scripts check uname output for target 
 build and use invalid build flags. This tool should not be used 
 in normal case if configure/build scripts allow to redefine 
 required values instead of using uname output
endef

include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk

define Host/Configure
endef

define Host/Compile
	{ \
	    cat src/header.py.inc; \
	    echo machine = \"$(ARCH)\"; \
	    echo kernel_release = \"$(LINUX_UNAME_VERSION)\"; \
	    echo kernel_version = \"#0 $(shell date --date=@$(SOURCE_DATE_EPOCH))\"; \
	    cat src/footer.py.inc; \
	} > $(HOST_BUILD_DIR)/$(PKG_NAME)
endef

define Host/Install
	$(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)
	$(INSTALL_BIN) $(HOST_BUILD_DIR)/$(PKG_NAME) $(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)/uname
endef

define Host/Clean
	rm -rf "$(STAGING_DIR_HOSTPKG)/lib/$(PKG_NAME)"
endef

$(eval $(call HostBuild))
$(eval $(call BuildPackage,fakeuname))