2012-02-24 18:38:08 +04:00
VERSION = 017
2009-03-05 13:05:35 +03:00
GITVERSION = $( shell [ -d .git ] && git rev-list --abbrev-commit -n 1 HEAD | cut -b 1-8)
2009-03-05 12:17:29 +03:00
2009-09-27 08:26:43 +04:00
prefix ?= /usr
2011-11-23 12:42:10 +04:00
libdir ?= ${ prefix } /lib
2009-09-27 08:26:43 +04:00
datadir ?= ${ prefix } /share
2011-11-23 12:42:10 +04:00
pkglibdir ?= ${ libdir } /dracut
2009-09-27 08:26:43 +04:00
sysconfdir ?= ${ prefix } /etc
2012-01-05 17:36:45 +04:00
bindir ?= ${ prefix } /bin
2009-09-27 08:26:43 +04:00
mandir ?= ${ prefix } /share/man
2009-06-04 19:19:42 +04:00
2012-03-14 16:27:13 +04:00
manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
2009-09-30 12:18:25 +04:00
2011-05-31 18:34:37 +04:00
.PHONY : install clean archive rpm testimage test all check AUTHORS doc
2009-03-04 15:54:55 +03:00
2011-05-31 18:34:37 +04:00
doc : $( manpages ) dracut .html
all : syncheck
2010-08-05 18:38:49 +04:00
% : %.xml
xsltproc -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
2008-12-18 23:58:15 +03:00
2010-08-23 14:25:03 +04:00
dracut.html : dracut .xml $( manpages )
2010-10-15 15:14:08 +04:00
xsltproc -o dracut.html --xinclude -nonet \
--stringparam draft.mode yes \
--stringparam html.stylesheet http://docs.redhat.com/docs/en-US/Common_Content/css/default.css \
2010-11-10 17:05:04 +03:00
http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml
2010-08-23 14:25:03 +04:00
2011-05-31 18:34:37 +04:00
install : doc
2009-06-04 19:19:42 +04:00
mkdir -p $( DESTDIR) $( pkglibdir)
2011-11-23 12:29:50 +04:00
mkdir -p $( DESTDIR) $( bindir)
2009-06-04 19:19:42 +04:00
mkdir -p $( DESTDIR) $( sysconfdir)
mkdir -p $( DESTDIR) $( pkglibdir) /modules.d
2012-01-05 17:48:57 +04:00
mkdir -p $( DESTDIR) $( mandir) /man5 $( DESTDIR) $( mandir) /man7 $( DESTDIR) $( mandir) /man8
2012-02-22 13:14:17 +04:00
install -m 0755 dracut.sh $( DESTDIR) $( bindir) /dracut
install -m 0755 dracut-catimages.sh $( DESTDIR) $( bindir) /dracut-catimages
2011-11-23 12:29:50 +04:00
install -m 0755 mkinitrd-dracut.sh $( DESTDIR) $( bindir) /mkinitrd
2012-02-22 13:14:17 +04:00
install -m 0755 lsinitrd.sh $( DESTDIR) $( bindir) /lsinitrd
2009-06-04 19:19:42 +04:00
install -m 0644 dracut.conf $( DESTDIR) $( sysconfdir) /dracut.conf
2010-02-12 13:12:37 +03:00
mkdir -p $( DESTDIR) $( sysconfdir) /dracut.conf.d
2012-02-22 13:14:17 +04:00
install -m 0755 dracut-functions.sh $( DESTDIR) $( pkglibdir) /dracut-functions.sh
2012-02-23 15:26:16 +04:00
ln -s dracut-functions.sh $( DESTDIR) $( pkglibdir) /dracut-functions
2012-02-22 13:14:17 +04:00
install -m 0755 dracut-logger.sh $( DESTDIR) $( pkglibdir) /dracut-logger.sh
2012-02-10 14:14:42 +04:00
install -m 0755 dracut-initramfs-restore.sh $( DESTDIR) $( pkglibdir) /dracut-initramfs-restore
2009-06-04 19:19:42 +04:00
cp -arx modules.d $( DESTDIR) $( pkglibdir)
2011-11-16 18:17:35 +04:00
install -m 0644 dracut.8 $( DESTDIR) $( mandir) /man8/dracut.8
install -m 0644 dracut-catimages.8 $( DESTDIR) $( mandir) /man8/dracut-catimages.8
install -m 0644 dracut.conf.5 $( DESTDIR) $( mandir) /man5/dracut.conf.5
2011-12-15 11:50:48 +04:00
install -m 0644 dracut.cmdline.7 $( DESTDIR) $( mandir) /man7/dracut.cmdline.7
ln -s dracut.cmdline.7 $( DESTDIR) $( mandir) /man7/dracut.kernel.7
2012-02-10 12:37:18 +04:00
if [ -n " $( systemdsystemunitdir) " ] ; then \
mkdir -p $( DESTDIR) $( systemdsystemunitdir) ; \
2012-02-10 14:14:42 +04:00
install -m 0644 dracut-shutdown.service $( DESTDIR) $( systemdsystemunitdir) ; \
2012-02-10 12:37:18 +04:00
mkdir -p $( DESTDIR) $( systemdsystemunitdir) /reboot.target.wants; \
2012-02-16 12:36:13 +04:00
mkdir -p $( DESTDIR) $( systemdsystemunitdir) /shutdown.target.wants; \
2012-02-10 14:14:42 +04:00
ln -s ../dracut-shutdown.service $( DESTDIR) $( systemdsystemunitdir) /reboot.target.wants/dracut-shutdown.service; \
2012-02-16 12:36:13 +04:00
ln -s ../dracut-shutdown.service $( DESTDIR) $( systemdsystemunitdir) /shutdown.target.wants/dracut-shutdown.service; \
2012-02-10 12:37:18 +04:00
fi
2009-03-04 16:23:02 +03:00
2008-12-18 23:58:15 +03:00
clean :
2010-08-06 13:49:50 +04:00
$( RM) *~
$( RM) */*~
$( RM) */*/*~
$( RM) test-*.img
$( RM) dracut-*.rpm dracut-*.tar.bz2
2010-08-23 14:25:03 +04:00
$( RM) $( manpages) dracut.html
2010-08-06 13:49:50 +04:00
$( MAKE) -C test clean
2008-12-18 23:58:15 +03:00
2009-03-05 12:48:18 +03:00
archive : dracut -$( VERSION ) -$( GITVERSION ) .tar .bz 2
2011-03-31 20:45:01 +04:00
dist : dracut -$( VERSION ) .tar .gz
2009-06-19 15:53:46 +04:00
dracut-$(VERSION).tar.bz2 :
git archive --format= tar $( VERSION) --prefix= dracut-$( VERSION) / | bzip2 > dracut-$( VERSION) .tar.bz2
2011-03-31 20:45:01 +04:00
dracut-$(VERSION).tar.gz :
git archive --format= tar $( VERSION) --prefix= dracut-$( VERSION) / | gzip > dracut-$( VERSION) .tar.gz
2011-05-31 18:34:37 +04:00
rpm : dracut -$( VERSION ) .tar .bz 2
2011-11-09 12:51:15 +04:00
rpmbuild = $$ ( mktemp -d -t rpmbuild-dracut.XXXXXX) ; src = $$ ( pwd ) ; \
cp dracut-$( VERSION) .tar.bz2 " $$ rpmbuild " ; \
$$ src/git2spec.pl $( VERSION) " $$ rpmbuild " < dracut.spec > $$ rpmbuild/dracut.spec; \
( cd " $$ rpmbuild " ; rpmbuild --define " _topdir $$ PWD " --define " _sourcedir $$ PWD " \
2011-05-31 18:34:37 +04:00
--define " _specdir $$ PWD " --define " _srcrpmdir $$ PWD " \
2011-11-09 12:51:15 +04:00
--define " _rpmdir $$ PWD " -ba dracut.spec; ) && \
( mv " $$ rpmbuild " /noarch/*.rpm .; mv " $$ rpmbuild " /*.src.rpm .; rm -fr " $$ rpmbuild " ; ls *.rpm )
2009-03-05 12:33:18 +03:00
2011-03-17 14:12:48 +03:00
syncheck :
2012-02-22 13:14:17 +04:00
@ret= 0; for i in dracut-initramfs-restore.sh dracut-logger.sh \
modules.d/99base/init.sh modules.d/*/*.sh; do \
2011-02-18 15:11:53 +03:00
[ " $$ {i##*/} " = "module-setup.sh" ] && continue ; \
2011-03-17 14:12:48 +03:00
[ " $$ {i##*/} " = "caps.sh" ] && continue ; \
2009-05-15 14:44:36 +04:00
dash -n " $$ i " ; ret = $$ ( ( $$ ret+$$ ?) ) ; \
done ; exit $$ ret
2012-02-22 13:14:17 +04:00
@ret= 0; for i in *.sh mkinitrd-dracut.sh modules.d/02caps/caps.sh \
2012-02-10 12:37:18 +04:00
modules.d/*/module-setup.sh; do \
2011-03-17 14:12:48 +03:00
bash -n " $$ i " ; ret = $$ ( ( $$ ret+$$ ?) ) ; \
done ; exit $$ ret
check : all syncheck
2010-08-06 13:49:50 +04:00
$( MAKE) -C test check
2009-05-15 14:44:36 +04:00
2009-03-05 13:07:52 +03:00
testimage : all
2012-02-22 13:14:17 +04:00
./dracut.sh -l -a debug -f test-$( shell uname -r) .img $( shell uname -r)
2009-03-05 16:20:05 +03:00
@echo wrote test-$( shell uname -r) .img
2009-07-22 14:43:26 +04:00
testimages : all
2012-02-22 13:14:17 +04:00
./dracut.sh -l -a debug --kernel-only -f test-kernel-$( shell uname -r) .img $( shell uname -r)
2009-07-22 14:43:26 +04:00
@echo wrote test-$( shell uname -r) .img
2012-02-22 13:14:17 +04:00
./dracut.sh -l -a debug --no-kernel -f test-dracut.img $( shell uname -r)
2009-07-22 14:43:26 +04:00
@echo wrote test-dracut.img
2009-11-27 12:53:28 +03:00
2009-08-19 19:10:38 +04:00
hostimage : all
2012-02-22 13:14:17 +04:00
./dracut.sh -H -l -a debug -f test-$( shell uname -r) .img $( shell uname -r)
2009-08-19 19:10:38 +04:00
@echo wrote test-$( shell uname -r) .img
2009-07-22 14:43:26 +04:00
2009-10-07 12:11:55 +04:00
AUTHORS :
git shortlog --numbered --summary -e | while read a rest; do echo $$ rest; done > AUTHORS