makefile improvements
authorŁukasz Stelmach <l.stelmach@samsung.com>
Tue, 25 Feb 2014 07:15:13 +0000 (08:15 +0100)
committerMichal Minar <miminar@redhat.com>
Tue, 25 Feb 2014 08:33:02 +0000 (09:33 +0100)
Using $(libdir) variable instead of $(prefix)/lib. This helps maintain
consistency between paths used in Makefile and those provided by the
build system used in spec (e.g. %_libdir).

Make sure that Makefile.inc is created before its inclusion in Makefile.
Since Makefile is already build, it's not quite obvious that configure
script needs to be run for Makefile.inc to be generated.

Fixed configure script to correctly generate datadir variable.

Makefile
configure
hwdata.spec

index 23ebbcf48724ba7df566e5edf52fe54a554a7817..810c9d7df67216270c9db56d9ded220932666fac 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,8 +3,6 @@ VERSION=$(shell awk '/Version:/ { print $$2 }' hwdata.spec)
 RELEASE=$(shell rpm -q --define 'dist %{nil}' --specfile --qf "%{release}" hwdata.spec)
 SOURCEDIR := $(shell pwd)
 
-include Makefile.inc
-
 CVSROOT = $(shell cat CVS/Root 2>/dev/null || :)
 
 CVSTAG = $(NAME)-r$(subst .,-,$(VERSION))
@@ -14,15 +12,22 @@ FILES = pci.ids usb.ids oui.txt pnp.ids
 .PHONY: all install tag force-tag check commit create-archive archive srpm-x \
     clean clog new-pci-ids new-usb-ids new-pnp-ids
 
-all: 
+include Makefile.inc
+
+all:
+
+Makefile.inc: configure
+       ./configure
+       @echo "$@ generated. Run the make again."
+       @exit 1
 
-install:
+install: Makefile.inc
        mkdir -p -m 755 $(DESTDIR)$(datadir)/$(NAME)
        for foo in $(FILES) ; do \
                install -m 644 $$foo $(DESTDIR)$(datadir)/$(NAME) ;\
        done
-       mkdir -p -m 755 $(DESTDIR)$(prefix)/lib/modprobe.d
-       install -m 644 -T blacklist.conf $(DESTDIR)$(prefix)/lib/modprobe.d/dist-blacklist.conf
+       mkdir -p -m 755 $(DESTDIR)$(libdir)/modprobe.d
+       install -m 644 -T blacklist.conf $(DESTDIR)$(libdir)/modprobe.d/dist-blacklist.conf
 
 commit:
        git commit -a ||:
index 5f87c77e516cc231a0809e2fb18fa93fe1dbadd2..8ea4e6993efc85960aedb1832f17ca1bd95b3305 100755 (executable)
--- a/configure
+++ b/configure
@@ -5,6 +5,7 @@
 # Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php)
 
 prefix=/usr
+datarootdir=${datarootdir:-${prefix}/share}
 
 # Little helper function for reading args from the commandline.
 # it automatically handles -a b and -a=b variants, and returns 1 if
@@ -53,7 +54,7 @@ prefix ?= ${prefix}
 bindir ?= ${bindir:-${prefix}/bin}
 sbindir ?= ${sbindir:-${prefix}/sbin}
 libexecdir ?= ${libexecdir:-${prefix}/libexec}
-datarootdir ?= ${datarootdir:-${prefix}/share}
+datarootdir ?= ${datarootdir}
 datadir ?= ${datadir:-${datarootdir}}
 sysconfdir ?= ${sysconfdir:-${prefix}/etc}
 libdir ?= ${libdir:-${prefix}/lib}
index d7b9b88e1aa6b1ed1f450c7cb11eadc9a46203f3..6d071c5d85dbcaa0119b2c24e0df078a4bbd7b9f 100644 (file)
@@ -21,7 +21,7 @@ such as the pci.ids and usb.ids databases.
 
 %install
 rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT libdir=%{_prefix}/lib
 
 %clean
 rm -rf $RPM_BUILD_ROOT