packages/libs/dtc/Makefile
Alexandru Ardelean ab5afd7620 libs/dtc: fix build on x86_64
Fixes build error:
```
x86_64-openwrt-linux-musl-gcc -L/home/sandu/work/lede/staging_dir/target-x86_64_musl-1.1.15/usr/lib -L/home/sandu/work/lede/staging_dir/target-x86_64_musl-1.1.15/lib -L/home/sandu/work/lede/staging_dir/toolchain-x86_64_gcc-5.4.0_musl-1.1.15/usr/lib -L/home/sandu/work/lede/staging_dir/toolchain-x86_64_gcc-5.4.0_musl-1.1.15/lib -znow -zrelro  -fPIC -shared -Wl,--version-script=libfdt/version.lds -Wl,-soname,libfdt.so.1 -o libfdt/libfdt-1.4.2.so libfdt/fdt.o libfdt/fdt_ro.o libfdt/fdt_wip.o libfdt/fdt_sw.o libfdt/fdt_rw.o libfdt/fdt_strerror.o libfdt/fdt_empty_tree.o libfdt/fdt_addresses.o
/home/sandu/work/lede/staging_dir/toolchain-x86_64_gcc-5.4.0_musl-1.1.15/lib64/gcc/x86_64-openwrt-linux-musl/5.4.0/../../../../x86_64-openwrt-linux-musl/bin/ld: libfdt/fdt.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
libfdt/fdt.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Makefile:283: recipe for target 'libfdt/libfdt-1.4.2.so' failed
make[4]: *** [libfdt/libfdt-1.4.2.so] Error 1
```

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-01-11 00:01:37 +08:00

74 lines
1.8 KiB
Makefile

#
# Copyright (C) 2016 Yousong Zhou <yszhou4tech@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=dtc
PKG_VERSION:=1.4.2
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.kernel.org/pub/software/utils/dtc
PKG_SOURCE_MD5SUM:=3d5814e31b2046ef51fca8fece998db0
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=GPL
PKG_INSTALL:=1
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
include $(INCLUDE_DIR)/package.mk
define Package/dtc
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Device Tree Compiler
URL:=http://devicetree.org/Device_Tree_Compiler
endef
define Package/dtc/description
Device Tree Compiler for Flat Device Trees Device Tree Compiler, dtc, takes
as input a device-tree in a given format and outputs a device-tree in another
format for booting kernels on embedded systems.
endef
define Package/dtc/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/bin/dtc $(1)/usr/bin
endef
define Package/libfdt
SECTION:=libs
CATEGORY:=Libraries
TITLE:=a utility library for reading and manipulating dtb files
URL:=http://devicetree.org/Device_Tree_Compiler
endef
define Package/libfdt/description
This is a library containing functions for manipulating Flat Device Trees.
endef
define Package/libfdt/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/lib/libfdt*.so* $(1)/usr/lib
endef
TARGET_CFLAGS += \
$(FPIC)
MAKE_FLAGS += \
PREFIX= \
CFLAGS="$(TARGET_CFLAGS)"
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/include/* $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/lib/* $(1)/usr/lib
endef
$(eval $(call BuildPackage,dtc))
$(eval $(call BuildPackage,libfdt))