]> git.ipfire.org Git - thirdparty/dracut.git/blame - Makefile
dracut-install.c: try clone ioctl for more speed
[thirdparty/dracut.git] / Makefile
CommitLineData
09eaf9f5 1VERSION=020
65673832 2GITVERSION=$(shell [ -d .git ] && git rev-list --abbrev-commit -n 1 HEAD |cut -b 1-8)
7323a621 3
13d942e1 4prefix ?= /usr
c5a65990 5libdir ?= ${prefix}/lib
13d942e1 6datadir ?= ${prefix}/share
c5a65990 7pkglibdir ?= ${libdir}/dracut
13d942e1 8sysconfdir ?= ${prefix}/etc
5e90d266 9bindir ?= ${prefix}/bin
13d942e1 10mandir ?= ${prefix}/share/man
59615e06 11
dc824f19 12manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
5cf5569d 13
0e6a94b3 14.PHONY: install clean archive rpm testimage test all check AUTHORS doc
c4da2407 15
026b81e9
HH
16all: syncheck dracut-version.sh install/dracut-install
17
18install/dracut-install:
19 $(MAKE) -C install dracut-install
cdc8d9c4 20
4ce3a1b1
HH
21doc: $(manpages) dracut.html
22
cdc8d9c4
HH
23%: %.xml
24 xsltproc -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
533cd778 25
888d53f2
HH
26%.xml: %.asc
27 asciidoc -d manpage -b docbook -o $@ $<
28
29dracut.html: dracut.asc $(manpages)
30 asciidoc -a numbered -d book -b docbook -o dracut.xml dracut.asc
1b4a9d8a
HH
31 xsltproc -o dracut.html --xinclude -nonet \
32 --stringparam draft.mode yes \
4ce3a1b1
HH
33 --stringparam html.stylesheet \
34 http://docs.redhat.com/docs/en-US/Common_Content/css/default.css \
498a1312 35 http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml
888d53f2 36 rm dracut.xml
2d9f5858 37
dbf8f6ba 38install: doc dracut-version.sh
59615e06 39 mkdir -p $(DESTDIR)$(pkglibdir)
ed919de0 40 mkdir -p $(DESTDIR)$(bindir)
59615e06
HH
41 mkdir -p $(DESTDIR)$(sysconfdir)
42 mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
dcba56ca 43 mkdir -p $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
552ecca6 44 install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
552ecca6 45 install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
ed919de0 46 install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
552ecca6 47 install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
59615e06 48 install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
2c2c4580 49 mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
552ecca6 50 install -m 0755 dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions.sh
dbf8f6ba 51 install -m 0755 dracut-version.sh $(DESTDIR)$(pkglibdir)/dracut-version.sh
a6b63f91 52 ln -s dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions
552ecca6 53 install -m 0755 dracut-logger.sh $(DESTDIR)$(pkglibdir)/dracut-logger.sh
fb67e4aa 54 install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
59615e06 55 cp -arx modules.d $(DESTDIR)$(pkglibdir)
2799897a
56 install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
57 install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
2799897a 58 install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5/dracut.conf.5
45abddb0
HH
59 install -m 0644 dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.cmdline.7
60 ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
4cfd24d1
HH
61 if [ -n "$(systemdsystemunitdir)" ]; then \
62 mkdir -p $(DESTDIR)$(systemdsystemunitdir); \
afd1fd8d
HH
63 for i in \
64 modules.d/98systemd/dracut-initqueue.service \
65 modules.d/98systemd/dracut-pre-pivot.service \
66 modules.d/98systemd/dracut-pre-trigger.service \
67 modules.d/98systemd/dracut-pre-udev.service \
ca024e33
HH
68 modules.d/98systemd/initrd-switch-root.service \
69 modules.d/98systemd/initrd-switch-root.target \
afd1fd8d
HH
70 dracut-shutdown.service; do \
71 install -m 0644 $$i $(DESTDIR)$(systemdsystemunitdir); \
72 done; \
a2c631c0 73 mkdir -p $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants; \
4ce3a1b1 74 ln -s ../dracut-shutdown.service \
4ce3a1b1 75 $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
4cfd24d1 76 fi
026b81e9 77 $(MAKE) -C install install
834f6145 78
dbf8f6ba
HH
79dracut-version.sh:
80 @echo "DRACUT_VERSION=$(VERSION)-$(GITVERSION)" > dracut-version.sh
81
533cd778 82clean:
5150d44a
83 $(RM) *~
84 $(RM) */*~
85 $(RM) */*/*~
5150d44a
86 $(RM) test-*.img
87 $(RM) dracut-*.rpm dracut-*.tar.bz2
2d9f5858 88 $(RM) $(manpages) dracut.html
5150d44a 89 $(MAKE) -C test clean
026b81e9 90 $(MAKE) -C install clean
533cd778 91
6b2a2be3
HH
92archive: dracut-$(VERSION)-$(GITVERSION).tar.bz2
93
4ce3a1b1 94dist: dracut-$(VERSION).tar.bz2
f1bbaa64 95
4ce3a1b1
HH
96dracut-$(VERSION).tar.bz2: doc
97 git archive --format=tar $(VERSION) --prefix=dracut-$(VERSION)/ > dracut-$(VERSION).tar
98 mkdir -p dracut-$(VERSION)
99 cp $(manpages) dracut.html dracut-$(VERSION)
100 tar -rf dracut-$(VERSION).tar dracut-$(VERSION)/*.[0-9] dracut-$(VERSION)/dracut.html
101 rm -fr dracut-$(VERSION).tar.bz2 dracut-$(VERSION)
102 bzip2 -9 dracut-$(VERSION).tar
103 rm -f dracut-$(VERSION).tar
b4fbdbbe 104
0e6a94b3 105rpm: dracut-$(VERSION).tar.bz2
9af39cbe
HH
106 rpmbuild=$$(mktemp -d -t rpmbuild-dracut.XXXXXX); src=$$(pwd); \
107 cp dracut-$(VERSION).tar.bz2 "$$rpmbuild"; \
53e3244d 108 LANG=C $$src/git2spec.pl $(VERSION) "$$rpmbuild" < dracut.spec > $$rpmbuild/dracut.spec; \
9af39cbe 109 (cd "$$rpmbuild"; rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" \
0e6a94b3 110 --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" \
9af39cbe 111 --define "_rpmdir $$PWD" -ba dracut.spec; ) && \
026b81e9 112 ( mv "$$rpmbuild"/$$(arch)/*.rpm .; mv "$$rpmbuild"/*.src.rpm .;rm -fr "$$rpmbuild"; ls *.rpm )
ccd71eeb 113
da22a021 114syncheck:
552ecca6
HH
115 @ret=0;for i in dracut-initramfs-restore.sh dracut-logger.sh \
116 modules.d/99base/init.sh modules.d/*/*.sh; do \
440a4cc2 117 [ "$${i##*/}" = "module-setup.sh" ] && continue; \
f5af0df8 118 read line < "$$i"; [ "$${line#*bash*}" != "$$line" ] && continue; \
5cb6c761
HH
119 dash -n "$$i" ; ret=$$(($$ret+$$?)); \
120 done;exit $$ret
f5af0df8 121 @ret=0;for i in *.sh mkinitrd-dracut.sh modules.d/*/*.sh \
4cfd24d1 122 modules.d/*/module-setup.sh; do \
da22a021
HH
123 bash -n "$$i" ; ret=$$(($$ret+$$?)); \
124 done;exit $$ret
125
126check: all syncheck
5150d44a 127 $(MAKE) -C test check
5cb6c761 128
2f525c49 129testimage: all
552ecca6 130 ./dracut.sh -l -a debug -f test-$(shell uname -r).img $(shell uname -r)
026b81e9 131 @echo wrote test-$(shell uname -r).img
33ee031c
HH
132
133testimages: all
552ecca6 134 ./dracut.sh -l -a debug --kernel-only -f test-kernel-$(shell uname -r).img $(shell uname -r)
026b81e9 135 @echo wrote test-$(shell uname -r).img
552ecca6 136 ./dracut.sh -l -a debug --no-kernel -f test-dracut.img $(shell uname -r)
026b81e9 137 @echo wrote test-dracut.img
6cc96b35 138
bdccc34e 139hostimage: all
552ecca6 140 ./dracut.sh -H -l -a debug -f test-$(shell uname -r).img $(shell uname -r)
026b81e9 141 @echo wrote test-$(shell uname -r).img
33ee031c 142
3f793c91
HH
143AUTHORS:
144 git shortlog --numbered --summary -e |while read a rest; do echo $$rest;done > AUTHORS