summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Rodriguez <andres.rodriguez@amd.com>2016-04-11 18:17:34 -0400
committerAndres Rodriguez <Andres.Rodriguez@amd.com>2016-04-11 18:30:54 -0400
commit144cc0cfae92f193b325cdcb7935e03f0f75b62d (patch)
treecf80c73a583a301eb97fc680b6275257c5938e83
parent8ebd67a082bee8ff4e94081bfdb7902eddab3855 (diff)
Adopt new ROCm packaging guidelines
All files should go into /opt/rocm/$component For developer convenience, a single include directory is created through symlinks, from the component include directory to /opt/rocm/include. Similarly, a unified linked directory is present in /opt/rocm/lib The component lib directory should not include linker names (library names without version numbers). This commit also fixes 'make rpm' running correctly without the need for sourcing build/envsetup.sh Change-Id: I95a680f6d3e3bd1ae688d0694934a0577dbd007c
-rw-r--r--DEBIAN/x86_64-libhsakmt.conf2
-rw-r--r--RPM/libhsakmt.spec4
-rw-r--r--src/Makefile43
3 files changed, 31 insertions, 18 deletions
diff --git a/DEBIAN/x86_64-libhsakmt.conf b/DEBIAN/x86_64-libhsakmt.conf
index a4551d4..cfa6dc4 100644
--- a/DEBIAN/x86_64-libhsakmt.conf
+++ b/DEBIAN/x86_64-libhsakmt.conf
@@ -1 +1 @@
-/opt/rocm/lib
+/opt/rocm/libhsakmt/lib
diff --git a/RPM/libhsakmt.spec b/RPM/libhsakmt.spec
index ad24a7e..77d7ed1 100644
--- a/RPM/libhsakmt.spec
+++ b/RPM/libhsakmt.spec
@@ -1,6 +1,6 @@
%define name libhsakmt
%define version 2.0.0
-%define thunkroot %{getenv:OUT_DIR}
+%define packageroot %{getenv:PACKAGE_DIR}
Name: %{name}
Version: %{version}
@@ -18,7 +18,7 @@ for AMD KFD
%setup -T -D -c -n %{name}
%install
-cp -R %thunkroot/build/thunk/rpm/libhsakmt $RPM_BUILD_ROOT
+cp -R %packageroot $RPM_BUILD_ROOT
find $RPM_BUILD_ROOT \! -type d | sed "s|$RPM_BUILD_ROOT||"> thunk.list
%post
diff --git a/src/Makefile b/src/Makefile
index c6828e9..6d4c89c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,3 +1,6 @@
+# Our directory
+THUNK_ROOT ?= $(abspath ../)
+
# Include directories
INCLUDE_DIR := ../include
INCLUDES += $(INCLUDE_DIR)
@@ -59,26 +62,36 @@ PACKAGE_DIR = $(BUILDDIR)/libhsakmt
DEBIAN_DIR = ../DEBIAN
LDCONF_FILE = $(DEBIAN_DIR)/x86_64-libhsakmt.conf
LDCONF_INSTALL_DIR = $(PACKAGE_DIR)/etc/ld.so.conf.d
-INSTALL_LIB_DIR = $(PACKAGE_DIR)/opt/rocm/lib
-INSTALL_INCLUDE_DIR = $(PACKAGE_DIR)/opt/rocm/include/libhsakmt
+ROCM_ROOT = $(PACKAGE_DIR)/opt/rocm
+ROCM_LIB = $(ROCM_ROOT)/lib
+ROCM_INCLUDE = $(ROCM_ROOT)/include
+INSTALL_LIB_DIR = libhsakmt/lib
+INSTALL_INCLUDE_DIR = libhsakmt/include/libhsakmt
+export PACKAGE_DIR
+
+package-common: lnx64a
+ @mkdir -p $(PACKAGE_DIR)
+ @cp -r $(DEBIAN_DIR) $(PACKAGE_DIR)
-deb: lnx64a
- @mkdir -p $(INSTALL_LIB_DIR)
- @mkdir -p $(INSTALL_INCLUDE_DIR)
@mkdir -p $(LDCONF_INSTALL_DIR)
- @cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR)
- @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR)
@cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR)
- @cp -r $(DEBIAN_DIR) $(PACKAGE_DIR)
+
+ @mkdir -p $(ROCM_ROOT)/$(INSTALL_LIB_DIR)
+ @cp $(BUILDDIR)/$(LIB_NAME).$(LIB_MAJOR_VER) $(ROCM_ROOT)/$(INSTALL_LIB_DIR)
+
+ @mkdir -p $(ROCM_ROOT)/$(INSTALL_INCLUDE_DIR)
+ @cp -r $(INCLUDE_DIR)/* $(ROCM_ROOT)/$(INSTALL_INCLUDE_DIR)
+
+ @mkdir -p $(ROCM_LIB)
+ @ln -fs ../$(INSTALL_LIB_DIR)/$(LIB_NAME).$(LIB_MAJOR_VER) $(ROCM_LIB)/$(LIB_NAME)
+
+ @mkdir -p $(ROCM_INCLUDE)
+ ln -fs ../$(INSTALL_INCLUDE_DIR) $(ROCM_INCLUDE)/
+
+deb: package-common
@fakeroot dpkg-deb --build $(PACKAGE_DIR) $(BUILDDIR)/libhsakmt.deb
-rpm: lnx64a
- @mkdir -p $(INSTALL_LIB_DIR)
- @mkdir -p $(INSTALL_INCLUDE_DIR)
- @mkdir -p $(LDCONF_INSTALL_DIR)
- @cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR)
- @cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR)
- @cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR)
+rpm: package-common
@rpmbuild --define '_topdir $(BUILD_ROOT)/rpm' -ba $(THUNK_ROOT)/RPM/libhsakmt.spec
lnx64a: $(BUILDDIR)/$(LIB_NAME)