]> git.ipfire.org Git - thirdparty/dracut.git/blame - Makefile
base/init: reset PATH after the /run move
[thirdparty/dracut.git] / Makefile
CommitLineData
4877bb51 1VERSION=009
65673832 2GITVERSION=$(shell [ -d .git ] && git rev-list --abbrev-commit -n 1 HEAD |cut -b 1-8)
7323a621 3
13d942e1
LA
4prefix ?= /usr
5datadir ?= ${prefix}/share
6pkglibdir ?= ${datadir}/dracut
7sysconfdir ?= ${prefix}/etc
8sbindir ?= ${prefix}/sbin
9mandir ?= ${prefix}/share/man
59615e06 10
cdc8d9c4 11manpages = dracut.8 dracut.kernel.7 dracut.conf.5 dracut-catimages.8 dracut-gencmdline.8
5cf5569d 12
3f793c91 13.PHONY: install clean archive rpm testimage test all check AUTHORS
c4da2407 14
7f128283
HH
15ifeq (1,${WITH_SWITCH_ROOT})
16targets = modules.d/99base/switch_root
17else
18targets =
19endif
20
2d9f5858 21all: $(targets) $(manpages) dracut.html
cdc8d9c4
HH
22
23%: %.xml
24 xsltproc -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
533cd778 25
2d9f5858 26dracut.html: dracut.xml $(manpages)
1b4a9d8a
HH
27 xsltproc -o dracut.html --xinclude -nonet \
28 --stringparam draft.mode yes \
29 --stringparam html.stylesheet http://docs.redhat.com/docs/en-US/Common_Content/css/default.css \
498a1312 30 http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml
2d9f5858 31
5cf5569d
HH
32modules.d/99base/switch_root: switch_root.c
33 gcc -D _GNU_SOURCE -D 'PACKAGE_STRING="dracut"' -std=gnu99 -fsigned-char -g -O2 -o modules.d/99base/switch_root switch_root.c
32d6bc5d 34
533cd778 35install:
59615e06
HH
36 mkdir -p $(DESTDIR)$(pkglibdir)
37 mkdir -p $(DESTDIR)$(sbindir)
38 mkdir -p $(DESTDIR)$(sysconfdir)
39 mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
cdc8d9c4 40 mkdir -p $(DESTDIR)$(mandir)/man{5,7,8}
59615e06 41 install -m 0755 dracut $(DESTDIR)$(sbindir)/dracut
a6f8c083 42 install -m 0755 dracut-gencmdline $(DESTDIR)$(sbindir)/dracut-gencmdline
5494f08c 43 install -m 0755 dracut-catimages $(DESTDIR)$(sbindir)/dracut-catimages
63d8d27b
HH
44 install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(sbindir)/mkinitrd
45 install -m 0755 lsinitrd $(DESTDIR)$(sbindir)/lsinitrd
7f128283 46ifeq (1,${WITH_SWITCH_ROOT})
68ea18cf 47 install -m 0755 modules.d/99base/switch_root $(DESTDIR)$(sbindir)/switch_root
7f128283 48endif
59615e06 49 install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
2c2c4580 50 mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
59615e06 51 install -m 0755 dracut-functions $(DESTDIR)$(pkglibdir)/dracut-functions
f709fa43 52 install -m 0755 dracut-logger $(DESTDIR)$(pkglibdir)/dracut-logger
59615e06 53 cp -arx modules.d $(DESTDIR)$(pkglibdir)
11e4b916 54 install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8
66e45737
HH
55 install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8
56 install -m 0644 dracut-gencmdline.8 $(DESTDIR)$(mandir)/man8
6cc96b35 57 install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5
5bb59e42 58 install -m 0644 dracut.kernel.7 $(DESTDIR)$(mandir)/man7
7f128283 59ifeq (1,${WITH_SWITCH_ROOT})
68ea18cf 60 rm $(DESTDIR)$(pkglibdir)/modules.d/99base/switch_root
7f128283 61endif
834f6145 62
533cd778 63clean:
5150d44a
64 $(RM) *~
65 $(RM) */*~
66 $(RM) */*/*~
67 $(RM) modules.d/99base/switch_root
68 $(RM) test-*.img
69 $(RM) dracut-*.rpm dracut-*.tar.bz2
2d9f5858 70 $(RM) $(manpages) dracut.html
5150d44a 71 $(MAKE) -C test clean
533cd778 72
6b2a2be3
HH
73archive: dracut-$(VERSION)-$(GITVERSION).tar.bz2
74
f1bbaa64
HH
75dist: dracut-$(VERSION).tar.bz2
76
77dracut-$(VERSION).tar.bz2:
78 git archive --format=tar $(VERSION) --prefix=dracut-$(VERSION)/ |bzip2 > dracut-$(VERSION).tar.bz2
79
6b2a2be3 80dracut-$(VERSION)-$(GITVERSION).tar.bz2:
7323a621
HH
81 git archive --format=tar HEAD --prefix=dracut-$(VERSION)-$(GITVERSION)/ |bzip2 > dracut-$(VERSION)-$(GITVERSION).tar.bz2
82
f1bbaa64 83
b54cac21 84rpm: clean dracut-$(VERSION).tar.bz2
f1bbaa64
HH
85 rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" --define "_rpmdir $$PWD" -ba dracut.spec
86 rm -fr BUILD BUILDROOT
87
88gitrpm: dracut-$(VERSION)-$(GITVERSION).tar.bz2
54b87586
HH
89 echo "%define gittag $(GITVERSION)" > dracut.spec.git
90 cat dracut.spec >> dracut.spec.git
91 mv dracut.spec dracut.spec.bak
92 mv dracut.spec.git dracut.spec
0cd23d77 93 rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" --define "_rpmdir $$PWD" --define "gittag $(GITVERSION)" -ba dracut.spec || :
54b87586 94 mv dracut.spec.bak dracut.spec
0680bbaf 95 rm -fr BUILD BUILDROOT
ccd71eeb 96
da22a021
HH
97syncheck:
98 @ret=0;for i in dracut-logger modules.d/99base/init modules.d/*/*.sh; do \
440a4cc2 99 [ "$${i##*/}" = "module-setup.sh" ] && continue; \
da22a021 100 [ "$${i##*/}" = "caps.sh" ] && continue; \
5cb6c761
HH
101 dash -n "$$i" ; ret=$$(($$ret+$$?)); \
102 done;exit $$ret
da22a021
HH
103 @ret=0;for i in dracut modules.d/02caps/caps.sh modules.d/*/module-setup.sh; do \
104 bash -n "$$i" ; ret=$$(($$ret+$$?)); \
105 done;exit $$ret
106
107check: all syncheck
5150d44a 108 $(MAKE) -C test check
5cb6c761 109
2f525c49 110testimage: all
f4da8073 111 ./dracut -l -a debug -f test-$(shell uname -r).img $(shell uname -r)
8ac8d68a 112 @echo wrote test-$(shell uname -r).img
33ee031c
HH
113
114testimages: all
115 ./dracut -l -a debug --kernel-only -f test-kernel-$(shell uname -r).img $(shell uname -r)
116 @echo wrote test-$(shell uname -r).img
117 ./dracut -l -a debug --no-kernel -f test-dracut.img $(shell uname -r)
118 @echo wrote test-dracut.img
6cc96b35 119
bdccc34e
HH
120hostimage: all
121 ./dracut -H -l -a debug -f test-$(shell uname -r).img $(shell uname -r)
122 @echo wrote test-$(shell uname -r).img
33ee031c 123
3f793c91
HH
124AUTHORS:
125 git shortlog --numbered --summary -e |while read a rest; do echo $$rest;done > AUTHORS