faa93311015c8e0bf844d942cf8e40fa5be08093
[openwrt/svn-archive/archive.git] / libs / libelf / Makefile
1 #
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id$
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=libelf
12 PKG_VERSION:=0.8.8
13 PKG_RELEASE:=1
14
15 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
16 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
17 PKG_SOURCE_URL:=http://www.mr511.de/software/
18 PKG_MD5SUM:=be84e553686dd50c8b6d520f86f46521
19 PKG_CAT:=zcat
20
21 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/libelf
26 SECTION:=libs
27 CATEGORY:=Libraries
28 TITLE:=ELF object file access library
29 DESCRIPTION:=ELF object file access library
30 URL:=http://www.stud.uni-hannover.de/~michael/software/
31 endef
32
33 define Build/Configure
34 (cd $(PKG_BUILD_DIR); rm -f config.cache; \
35 $(TARGET_CONFIGURE_OPTS) \
36 CFLAGS="$(TARGET_CFLAGS)" \
37 CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
38 LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
39 mr_cv_target_elf=yes \
40 libelf_64bit=yes \
41 libelf_cv_struct_elf64_ehdr=yes \
42 libelf_cv_type_elf64_addr=no \
43 libelf_cv_struct_elf64_rel=yes \
44 ./configure \
45 --target=$(GNU_TARGET_NAME) \
46 --host=$(GNU_TARGET_NAME) \
47 --build=$(GNU_HOST_NAME) \
48 --program-prefix="" \
49 --program-suffix="" \
50 --prefix=/usr \
51 --exec-prefix=/usr \
52 --bindir=/usr/bin \
53 --datadir=/usr/share \
54 --includedir=/usr/include \
55 --infodir=/usr/share/info \
56 --libdir=/usr/lib \
57 --libexecdir=/usr/lib \
58 --localstatedir=/var \
59 --mandir=/usr/share/man \
60 --sbindir=/usr/sbin \
61 --sysconfdir=/etc \
62 $(DISABLE_LARGEFILE) \
63 $(DISABLE_NLS) \
64 --enable-shared \
65 --enable-static \
66 --enable-elf64=yes \
67 );
68 endef
69
70 define Build/Compile
71 rm -rf $(PKG_INSTALL_DIR)
72 mkdir -p $(PKG_INSTALL_DIR)
73 $(MAKE) -C $(PKG_BUILD_DIR) \
74 CC="$(TARGET_CC)" LD="$(TARGET_CROSS)ld" ARCH=$(ARCH) \
75 instroot="$(PKG_INSTALL_DIR)" \
76 all install
77 endef
78
79 define Package/libelf/install
80 install -d -m0755 $(1)/usr/lib
81 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf.so.* $(1)/usr/lib/
82 endef
83
84 define Build/InstallDev
85 mkdir -p $(STAGING_DIR)/usr/include
86 $(CP) $(PKG_INSTALL_DIR)/usr/include/libelf* $(STAGING_DIR)/usr/include/
87 mkdir -p $(STAGING_DIR)/usr/lib
88 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libelf.{a,so*} $(STAGING_DIR)/usr/lib/
89 endef
90
91 define Build/UninstallDev
92 rm -rf \
93 $(STAGING_DIR)/usr/include/libelf* \
94 $(STAGING_DIR)/usr/lib/libelf.{a,so*}
95 endef
96
97 $(eval $(call BuildPackage,libelf))