diff options
author | Andres Rodriguez <andres.rodriguez@amd.com> | 2016-04-11 18:17:34 -0400 |
---|---|---|
committer | Andres Rodriguez <Andres.Rodriguez@amd.com> | 2016-04-11 18:30:54 -0400 |
commit | 144cc0cfae92f193b325cdcb7935e03f0f75b62d (patch) | |
tree | cf80c73a583a301eb97fc680b6275257c5938e83 | |
parent | 8ebd67a082bee8ff4e94081bfdb7902eddab3855 (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.conf | 2 | ||||
-rw-r--r-- | RPM/libhsakmt.spec | 4 | ||||
-rw-r--r-- | src/Makefile | 43 |
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) |