1 RELEASEDVERSION
= -- will be replaced by
"make dist" --
2 VERSION
= $(shell [ -d .git
] && git describe
--abbrev
=0 --tags || echo
$(RELEASEDVERSION
))
3 GITVERSION
= $(shell [ -d .git
] && { v
=$$(git describe
--tags); echo
-$${v\
#*-}; } )
8 libdir ?
= ${prefix}/lib
9 datadir ?
= ${prefix}/share
10 pkglibdir ?
= ${libdir}/dracut
11 sysconfdir ?
= ${prefix}/etc
12 bindir ?
= ${prefix}/bin
13 mandir ?
= ${prefix}/share
/man
14 CFLAGS ?
= -O2
-g
-Wall
15 CFLAGS
+= -std
=gnu99
-D_FILE_OFFSET_BITS
=64
16 bashcompletiondir ?
= ${datadir}/bash-completion
/completions
18 man1pages
= lsinitrd
.1
20 man5pages
= dracut.conf
.5
22 man7pages
= dracut.cmdline
.7 \
25 man8pages
= dracut
.8 \
28 modules.d
/98systemd
/dracut-cmdline.service
.8 \
29 modules.d
/98systemd
/dracut-initqueue.service
.8 \
30 modules.d
/98systemd
/dracut-mount.service
.8 \
31 modules.d
/98systemd
/dracut-pre-mount.service
.8 \
32 modules.d
/98systemd
/dracut-pre-pivot.service
.8 \
33 modules.d
/98systemd
/dracut-pre-trigger.service
.8 \
34 modules.d
/98systemd
/dracut-pre-udev.service
.8
36 manpages
= $(man1pages
) $(man5pages
) $(man7pages
) $(man8pages
)
39 .PHONY
: install clean archive rpm testimage
test all check AUTHORS doc dracut-version.sh
41 all: syncheck dracut-version.sh dracut-install
43 DRACUT_INSTALL_OBJECTS
= \
44 install/dracut-install.o \
49 # deps generated with gcc -MM
50 install/dracut-install.o
: install/dracut-install.c
install/log.h
install/macro.h \
51 install/hashmap.h
install/util.h
52 install/hashmap.o
: install/hashmap.c
install/util.h
install/macro.h
install/log.h \
54 install/log.o
: install/log.c
install/log.h
install/macro.h
install/util.h
55 install/util.o
: install/util.c
install/util.h
install/macro.h
install/log.h
57 install/dracut-install
: $(DRACUT_INSTALL_OBJECTS
)
59 dracut-install
: install/dracut-install
63 indent
-i8
-nut
-br
-linux
-l120
install/dracut-install.c
65 doc
: $(manpages
) dracut.html
67 ifneq ($(enable_documentation
),no
)
72 xsltproc
-o
$@
-nonet http
://docbook.sourceforge.net
/release
/xsl
/current
/manpages
/docbook.xsl
$<
75 asciidoc
-d manpage
-b docbook
-o
$@
$<
77 dracut.html
: dracut.asc
$(manpages
)
78 asciidoc
-a numbered
-d book
-b docbook
-o dracut.xml dracut.asc
79 xsltproc
-o dracut.html
--xinclude
-nonet \
80 --stringparam html.stylesheet \
81 http
://docs.fedoraproject.org
/en-US
/Common_Content
/css
/default.css \
82 http
://docbook.sourceforge.net
/release
/xsl
/current
/xhtml
/docbook.xsl dracut.xml
85 install: dracut-version.sh
86 mkdir
-p
$(DESTDIR
)$(pkglibdir
)
87 mkdir
-p
$(DESTDIR
)$(bindir)
88 mkdir
-p
$(DESTDIR
)$(sysconfdir
)
89 mkdir
-p
$(DESTDIR
)$(pkglibdir
)/modules.d
90 mkdir
-p
$(DESTDIR
)$(mandir)/man1
$(DESTDIR
)$(mandir)/man5
$(DESTDIR
)$(mandir)/man7
$(DESTDIR
)$(mandir)/man8
91 install -m
0755 dracut.sh
$(DESTDIR
)$(bindir)/dracut
92 install -m
0755 dracut-catimages.sh
$(DESTDIR
)$(bindir)/dracut-catimages
93 install -m
0755 mkinitrd-dracut.sh
$(DESTDIR
)$(bindir)/mkinitrd
94 install -m
0755 lsinitrd.sh
$(DESTDIR
)$(bindir)/lsinitrd
95 install -m
0644 dracut.conf
$(DESTDIR
)$(sysconfdir
)/dracut.conf
96 mkdir
-p
$(DESTDIR
)$(sysconfdir
)/dracut.conf.d
97 mkdir
-p
$(DESTDIR
)$(pkglibdir
)/dracut.conf.d
98 install -m
0755 dracut-functions.sh
$(DESTDIR
)$(pkglibdir
)/dracut-functions.sh
99 install -m
0755 dracut-version.sh
$(DESTDIR
)$(pkglibdir
)/dracut-version.sh
100 ln
-fs dracut-functions.sh
$(DESTDIR
)$(pkglibdir
)/dracut-functions
101 install -m
0755 dracut-logger.sh
$(DESTDIR
)$(pkglibdir
)/dracut-logger.sh
102 install -m
0755 dracut-initramfs-restore.sh
$(DESTDIR
)$(pkglibdir
)/dracut-initramfs-restore
103 cp
-arx modules.d
$(DESTDIR
)$(pkglibdir
)
104 ifneq ($(enable_documentation
),no
)
105 for i in
$(man1pages
); do
install -m
0644 $$i $(DESTDIR
)$(mandir)/man1
/$${i
##*/}; done
106 for i in
$(man5pages
); do
install -m
0644 $$i $(DESTDIR
)$(mandir)/man5
/$${i
##*/}; done
107 for i in
$(man7pages
); do
install -m
0644 $$i $(DESTDIR
)$(mandir)/man7
/$${i
##*/}; done
108 for i in
$(man8pages
); do
install -m
0644 $$i $(DESTDIR
)$(mandir)/man8
/$${i
##*/}; done
109 ln
-fs dracut.cmdline
.7 $(DESTDIR
)$(mandir)/man7
/dracut.kernel
.7
111 if
[ -n
"$(systemdsystemunitdir)" ]; then \
112 mkdir
-p
$(DESTDIR
)$(systemdsystemunitdir
); \
113 install -m
0644 dracut-shutdown.service
$(DESTDIR
)$(systemdsystemunitdir
); \
114 mkdir
-p
$(DESTDIR
)$(systemdsystemunitdir
)/shutdown.target.wants
; \
115 ln
-s ..
/dracut-shutdown.service \
116 $(DESTDIR
)$(systemdsystemunitdir
)/shutdown.target.wants
/dracut-shutdown.service
; \
117 mkdir
-p
$(DESTDIR
)$(systemdsystemunitdir
)/initrd.target.wants
; \
119 dracut-cmdline.service \
120 dracut-initqueue.service \
121 dracut-mount.service \
122 dracut-pre-mount.service \
123 dracut-pre-pivot.service \
124 dracut-pre-trigger.service \
125 dracut-pre-udev.service \
127 install -m
0644 modules.d
/98systemd
/$$i $(DESTDIR
)$(systemdsystemunitdir
); \
129 $(DESTDIR
)$(systemdsystemunitdir
)/initrd.target.wants
/$i; \
132 if
[ -f
install/dracut-install
]; then \
133 install -m
0755 install/dracut-install
$(DESTDIR
)$(pkglibdir
)/dracut-install
; \
135 mkdir
-p
$(DESTDIR
)${prefix}/lib
/kernel
/install.d
136 install -m
0755 50-dracut.
install $(DESTDIR
)${prefix}/lib
/kernel
/install.d
/50-dracut.
install
137 install -m
0755 51-dracut-rescue.
install $(DESTDIR
)${prefix}/lib
/kernel
/install.d
/51-dracut-rescue.
install
138 mkdir
-p
$(DESTDIR
)${bashcompletiondir}
139 install -m
0644 dracut-bash-completion.sh
$(DESTDIR
)${bashcompletiondir}/dracut
140 install -m
0644 lsinitrd-bash-completion.sh
$(DESTDIR
)${bashcompletiondir}/lsinitrd
143 @echo
"DRACUT_VERSION=$(VERSION)$(GITVERSION)" > dracut-version.sh
149 $(RM
) $(manpages
:%=%.xml
) dracut.xml
151 $(RM
) dracut-
*.rpm dracut-
*.
tar.bz2
152 $(RM
) dracut-version.sh
153 $(RM
) dracut-install
install/dracut-install
$(DRACUT_INSTALL_OBJECTS
)
154 $(RM
) $(manpages
) dracut.html
155 $(MAKE
) -C
test clean
157 dist: dracut-
$(VERSION
).
tar.bz2
159 dracut-
$(VERSION
).
tar.bz2
: doc
160 git archive
--format
=tar $(VERSION
) --prefix=dracut-
$(VERSION
)/ > dracut-
$(VERSION
).
tar
161 mkdir
-p dracut-
$(VERSION
)
162 cp
$(manpages
) dracut.html dracut-
$(VERSION
)
163 git show
$(VERSION
):Makefile | sed
's/^RELEASEDVERSION =.*/RELEASEDVERSION = $(VERSION)/' > dracut-
$(VERSION
)/Makefile
164 tar --owner
=root
--group
=root
-rf dracut-
$(VERSION
).
tar dracut-
$(VERSION
)/*.
[0-9] dracut-
$(VERSION
)/dracut.html dracut-
$(VERSION
)/Makefile
165 rm -fr dracut-
$(VERSION
).
tar.bz2 dracut-
$(VERSION
)
166 bzip2
-9 dracut-
$(VERSION
).
tar
167 rm -f dracut-
$(VERSION
).
tar
169 rpm
: dracut-
$(VERSION
).
tar.bz2
170 rpmbuild
=$$(mktemp
-d
-t rpmbuild-dracut.XXXXXX
); src
=$$(pwd
); \
171 cp dracut-
$(VERSION
).
tar.bz2
"$$rpmbuild"; \
172 LC_MESSAGES
=C
$$src/git2spec.pl
$(VERSION
) "$$rpmbuild" < dracut.spec
> $$rpmbuild/dracut.spec
; \
173 (cd
"$$rpmbuild"; rpmbuild
--define "_topdir $$PWD" --define "_sourcedir $$PWD" \
174 --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" \
175 --define "_rpmdir $$PWD" -ba dracut.spec
; ) && \
176 ( mv
"$$rpmbuild"/$$(arch
)/*.rpm .
; mv
"$$rpmbuild"/*.src.rpm .
;rm -fr
"$$rpmbuild"; ls
*.rpm
)
179 @ret
=0;for i in dracut-initramfs-restore.sh dracut-logger.sh \
180 modules.d
/99base
/init.sh modules.d
/*/*.sh
; do \
181 [ "$${i##*/}" = "module-setup.sh" ] && continue
; \
182 read line
< "$$i"; [ "$${line#*bash*}" != "$$line" ] && continue
; \
183 [ $$V ] && echo
"dash syntax check: $$i"; dash
-n
"$$i" ; ret
=$$(($$ret+$$?
)); \
185 @ret
=0;for i in
*.sh mkinitrd-dracut.sh modules.d
/*/*.sh \
186 modules.d
/*/module-setup.sh
; do \
187 [ $$V ] && echo
"bash syntax check: $$i"; bash
-n
"$$i" ; ret
=$$(($$ret+$$?
)); \
190 check: all syncheck rpm
191 @
[ "$$EUID" == "0" ] ||
{ echo
"'check' must be run as root! Please use 'sudo'."; exit
1; }
192 @
$(MAKE
) -C
test check
195 .
/dracut.sh
-l
-a debug
-f test-
$(shell uname
-r
).img
$(shell uname
-r
)
196 @echo wrote test-
$(shell uname
-r
).img
199 .
/dracut.sh
-l
-a debug
--kernel-only
-f test-kernel-
$(shell uname
-r
).img
$(shell uname
-r
)
200 @echo wrote test-
$(shell uname
-r
).img
201 .
/dracut.sh
-l
-a debug
--no-kernel
-f test-dracut.img
$(shell uname
-r
)
202 @echo wrote test-dracut.img
205 .
/dracut.sh
-H
-l
-a debug
-f test-
$(shell uname
-r
).img
$(shell uname
-r
)
206 @echo wrote test-
$(shell uname
-r
).img
209 git shortlog
--numbered
--summary
-e |while read a rest
; do echo
$$rest;done
> AUTHORS
211 dracut.html.sign
: dracut-
$(VERSION
).
tar.bz2
212 gpg-sign-all dracut-
$(VERSION
).
tar.bz2 dracut.html
214 upload
: dracut.html.sign
215 kup put dracut-
$(VERSION
).
tar.bz2 dracut-
$(VERSION
).
tar.sign
/pub
/linux
/utils
/boot
/dracut
/
216 kup put dracut.html dracut.html.sign
/pub
/linux
/utils
/boot
/dracut
/