]> git.proxmox.com Git - grub2.git/blob - Makefile.in
merge with mainline
[grub2.git] / Makefile.in
1 # -*- makefile -*-
2 #
3 # Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
4 #
5 # This Makefile.in is free software; the author
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 ### The configure script will replace these variables.
15
16 SHELL = /bin/sh
17
18 @SET_MAKE@
19
20 transform = @program_transform_name@
21
22 srcdir = @srcdir@
23 builddir = @builddir@
24 top_srcdir = @top_srcdir@
25 VPATH = @srcdir@
26 prefix = @prefix@
27 exec_prefix = @exec_prefix@
28
29 bindir = @bindir@
30 sbindir = @sbindir@
31 libexecdir = @libexecdir@
32 datarootdir = @datarootdir@
33 datadir = @datadir@
34 sysconfdir = @sysconfdir@
35 sharedstatedir = @sharedstatedir@
36 localstatedir = @localstatedir@
37 libdir = @libdir@
38 localedir = @localedir@
39 infodir = @infodir@
40 mandir = @mandir@
41 includedir = @includedir@
42 pkgdatadir = $(datadir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'`
43 pkglibdir = $(libdir)/`echo @PACKAGE_TARNAME@/$(target_cpu)-$(platform) | sed '$(transform)'`
44
45 # Internationalization library.
46 LIBINTL = @LIBINTL@
47 TARGET_NO_MODULES = @TARGET_NO_MODULES@
48
49 # Util library.
50 LIBUTIL = @LIBUTIL@
51
52 XGETTEXT = @XGETTEXT@
53 MSGMERGE = @MSGMERGE@
54 MSGFMT = @MSGFMT@
55
56 ifeq (@USE_NLS@,yes)
57 LINGUAS = $(shell for i in $(srcdir)/po/*.po ; do \
58 if test -e $$i ; then echo $$i ; fi ; \
59 done | sed -e "s,.*/po/\(.*\)\.po$$,\1,")
60 else
61 LINGUAS =
62 endif
63
64 PACKAGE = @PACKAGE@
65 PACKAGE_NAME = @PACKAGE_NAME@
66 PACKAGE_TARNAME = @PACKAGE_TARNAME@
67 PACKAGE_VERSION = @PACKAGE_VERSION@
68 PACKAGE_STRING = @PACKAGE_STRING@
69 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
70
71 host_os = @host_os@
72 host_kernel = @host_kernel@
73 host_cpu = @host_cpu@
74
75 target_cpu = @target_cpu@
76 platform = @platform@
77
78 INSTALL = @INSTALL@
79 INSTALL_PROGRAM = @INSTALL_PROGRAM@
80 INSTALL_DATA = @INSTALL_DATA@
81 INSTALL_SCRIPT = @INSTALL_SCRIPT@
82 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
83 MKDIR_P = @MKDIR_P@
84
85 mkinstalldirs = $(srcdir)/mkinstalldirs
86
87 LIBS = @LIBS@ $(LIBINTL) $(LIBUTIL)
88
89 CC = @CC@
90 CFLAGS = @CFLAGS@
91 POSIX_CFLAGS = -I$(srcdir)/lib/posix_wrap
92 GNULIB_UTIL_CFLAGS = -Wno-undef -Wno-sign-compare -Wno-unused -D_GL_UNUSED="__attribute__ ((unused))" -I$(srcdir)/gnulib
93 GNULIB_CFLAGS = $(GNULIB_UTIL_CFLAGS) $(POSIX_CFLAGS)
94 ASFLAGS = @ASFLAGS@
95 LDFLAGS = @LDFLAGS@ $(LIBS)
96 CPPFLAGS = @CPPFLAGS@ -I$(builddir) -I$(builddir)/include -I$(srcdir)/gnulib -I$(srcdir)/include -Wall -W \
97 -DGRUB_PKGLIBROOTDIR=\"$(libdir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'`\" -DLOCALEDIR=\"$(localedir)\"
98 TARGET_CC = @TARGET_CC@
99 TARGET_CFLAGS = -ffreestanding @TARGET_CFLAGS@
100 TARGET_ASFLAGS = -nostdinc -fno-builtin @TARGET_ASFLAGS@
101 TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@
102 TARGET_APPLE_CC = @TARGET_APPLE_CC@
103 OBJCONV = @OBJCONV@
104 TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(srcdir)/include -I$(builddir) -I$(builddir)/include \
105 -Wall -W
106 TARGET_LDFLAGS = -nostdlib -static-libgcc @TARGET_LDFLAGS@
107 TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
108 TARGET_IMG_LDFLAGS = -nostdlib @TARGET_IMG_LDFLAGS@
109 TARGET_IMG_CFLAGS = @TARGET_IMG_CFLAGS@
110 TARGET_OBJ2ELF = @TARGET_OBJ2ELF@
111 kernel_img_LDFLAGS = -lgcc
112 EXEEXT = @EXEEXT@
113 OBJCOPY = @OBJCOPY@
114 STRIP = @STRIP@
115 NM = @NM@
116 RUBY = @RUBY@
117 MAKEINFO = @MAKEINFO@
118 ifeq (, $(MAKEINFO))
119 MAKEINFO = true
120 endif
121 HELP2MAN = @HELP2MAN@
122 ifeq (, $(HELP2MAN))
123 HELP2MAN = true
124 else
125 HELP2MAN := LANG=C $(HELP2MAN) --no-info --source=FSF
126 endif
127 AWK = @AWK@
128 LIBCURSES = @LIBCURSES@
129 LIBUSB = @LIBUSB@
130 LIBSDL = @LIBSDL@
131 LIBPCIACCESS = @LIBPCIACCESS@
132 LEX = @LEX@
133 YACC = @YACC@
134 FONT_SOURCE = @FONT_SOURCE@
135
136 # Options.
137 enable_grub_emu_usb = @enable_grub_emu_usb@
138 enable_grub_emu_sdl = @enable_grub_emu_sdl@
139 enable_grub_emu_pci = @enable_grub_emu_pci@
140 enable_grub_fstest = @enable_grub_fstest@
141 enable_grub_pe2elf = @enable_grub_pe2elf@
142 enable_grub_mkfont = @enable_grub_mkfont@
143 freetype_cflags = @freetype_cflags@
144 freetype_libs = @freetype_libs@
145 enable_efiemu = @enable_efiemu@
146
147 ### General variables.
148
149 RMKFILES = $(wildcard $(srcdir)/conf/*.rmk)
150
151 MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
152
153 PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \
154 $(pkglib_DATA) $(pkglib_BUILDDIR)
155 PKGDATA = $(pkgdata_DATA)
156 PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
157 SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS) \
158 $(lib_SCRIPTS)
159 INFOS = $(info_INFOS)
160
161 CLEANFILES =
162 MOSTLYCLEANFILES =
163 DISTCLEANFILES = config.status config.cache config.log config.h \
164 Makefile stamp-h stamp-h1 include/grub/cpu include/grub/machine \
165 gensymlist.sh genkernsyms.sh build_env.mk \
166 docs/grub.info docs/version.texi docs/stamp-vti
167
168 MAINTAINER_CLEANFILES = $(srcdir)/configure $(srcdir)/aclocal.m4 \
169 $(MKFILES) $(srcdir)/config.guess \
170 $(srcdir)/config.sub $(srcdir)/install-sh $(srcdir)/missing \
171 $(srcdir)/DISTLIST $(srcdir)/config.h.in $(srcdir)/stamp-h.in \
172 $(srcdir)/unidata.c \
173 $(INFOS)
174
175 # The default target.
176 all: all-local
177
178 ### Include an arch-specific Makefile.
179 $(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk genmk.rb
180 if test "x$(RUBY)" = x; then \
181 touch $@; \
182 else \
183 $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
184 fi
185
186 ifeq ($(platform), emu)
187 include $(srcdir)/conf/any-emu.mk
188 else
189 include $(srcdir)/conf/$(target_cpu)-$(platform).mk
190 # For tests.
191 include $(srcdir)/conf/tests.mk
192 # For external modules.
193 -include $(wildcard $(GRUB_CONTRIB)/*/conf/common.mk)
194 endif
195
196 ifeq ($(TARGET_NO_MODULES), yes)
197 TARGET_CFLAGS += -DGRUB_TARGET_NO_MODULES=1
198 CFLAGS += -DGRUB_TARGET_NO_MODULES=1
199 endif
200
201 ### General targets.
202
203 CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA) po/*.mo
204 ifneq ($(TARGET_NO_MODULES), yes)
205 pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst
206 endif
207 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
208 cat $(DEFSYMFILES) /dev/null \
209 | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
210 || (rm -f $@; exit 1)
211
212 command.lst: $(COMMANDFILES)
213 cat $^ /dev/null | sort > $@
214
215 fs.lst: $(FSFILES)
216 cat $^ /dev/null | sort > $@
217
218 partmap.lst: $(PARTMAPFILES)
219 cat $^ /dev/null | sort > $@
220
221 handler.lst: $(HANDLERFILES)
222 cat $^ /dev/null | sort > $@
223
224 terminal.lst: $(TERMINALFILES)
225 cat $^ /dev/null | sort > $@
226
227 parttool.lst: $(PARTTOOLFILES)
228 cat $^ /dev/null | sort | uniq > $@
229
230 video.lst: $(VIDEOFILES)
231 cat $^ /dev/null | sort | uniq > $@
232
233 crypto.lst: lib/libgcrypt-grub/cipher/crypto.lst
234 cp $^ $@
235
236 ifneq (true, $(MAKEINFO))
237 info_INFOS += docs/grub.info
238 endif
239
240 MOSTLYCLEANFILES += vti.tmp
241 MAINTAINER_CLEANFILES += docs/stamp-vti docs/version.texi
242 docs/version.texi: docs/stamp-vti
243 docs/stamp-vti: docs/grub.texi configure.ac
244 $(MKDIR_P) docs
245 (set `$(SHELL) $(srcdir)/docs/mdate-sh $<`; \
246 echo "@set UPDATED $$1 $$2 $$3"; \
247 echo "@set UPDATED-MONTH $$2 $$3"; \
248 echo "@set EDITION $(PACKAGE_VERSION)"; \
249 echo "@set VERSION $(PACKAGE_VERSION)") > vti.tmp
250 @cmp -s vti.tmp $(builddir)/docs/version.texi \
251 || (echo "Updating $(builddir)/docs/version.texi"; \
252 cp vti.tmp $(builddir)/docs/version.texi)
253 -@rm -f vti.tmp
254 @cp $(builddir)/docs/version.texi $@
255
256 docs/grub.info: docs/grub.texi docs/version.texi docs/fdl.texi
257 $(MKDIR_P) docs
258 $(MAKEINFO) -P $(builddir)/docs --no-split $< -o $@
259
260 ifeq (, $(FONT_SOURCE))
261 else
262
263 ifeq ($(enable_grub_mkfont),yes)
264
265 pkgdata_DATA += unicode.pf2 ascii.pf2 ascii.h
266 CLEANFILES += ascii.bitmaps
267
268 # Arrows and lines are needed to draw the menu, so we always include them
269 UNICODE_ARROWS=0x2190-0x2193
270 UNICODE_LINES=0x2501-0x251B
271
272 unicode.pf2: $(FONT_SOURCE) grub-mkfont
273 $(builddir)/grub-mkfont -o $@ $(FONT_SOURCE)
274
275 ascii.pf2: $(FONT_SOURCE) grub-mkfont
276 $(builddir)/grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES)
277
278 ascii.bitmaps: $(FONT_SOURCE) grub-mkfont
279 $(builddir)/grub-mkfont --ascii-bitmaps -o $@ $(FONT_SOURCE)
280
281 ascii.h: ascii.bitmaps grub-bin2h
282 $(builddir)/grub-bin2h ascii_bitmaps < $< > $@
283
284 widthspec.bin: $(FONT_SOURCE) grub-mkfont
285 $(builddir)/grub-mkfont --width-spec -o $@ $(FONT_SOURCE)
286
287 widthspec.h: widthspec.bin grub-bin2h
288 $(builddir)/grub-bin2h widthspec < $< > $@
289
290 TARGET_CFLAGS += -DUSE_ASCII_FAILBACK=1 -DHAVE_UNIFONT_WIDTHSPEC=1
291 endif
292 endif
293
294 # Used for building modules externally
295 pkglib_BUILDDIR += build_env.mk
296 build_env.mk: Makefile
297 (\
298 echo "TARGET_CC=$(TARGET_CC)" ; \
299 echo "TARGET_CFLAGS=$(TARGET_CFLAGS)" ; \
300 echo "TARGET_ASFLAGS=$(TARGET_ASFLAGS)" ; \
301 echo "TARGET_CPPFLAGS=$(TARGET_CPPFLAGS) -I$(pkglibdir) -I$(includedir)" ; \
302 echo "STRIP=$(STRIP)" ; \
303 echo "OBJCONV=$(OBJCONV)" ; \
304 echo "TARGET_MODULE_FORMAT=$(TARGET_MODULE_FORMAT)" ; \
305 echo "TARGET_APPLE_CC=$(TARGET_APPLE_CC)" ; \
306 echo "COMMON_ASFLAGS=$(COMMON_ASFLAGS)" ; \
307 echo "COMMON_CFLAGS=$(COMMON_CFLAGS)" ; \
308 echo "COMMON_LDFLAGS=$(COMMON_LDFLAGS)"\
309 ) > $@
310 pkglib_BUILDDIR += config.h grub_script.tab.h
311
312 all-local: $(PROGRAMS) $(GRUB_EMU) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo)
313
314 install: install-local
315
316 install-local: all
317 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
318 rm -f $(DESTDIR)$(pkglibdir)/*
319 @list='$(PKGLIB)'; \
320 for file in $$list; do \
321 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
322 dest="`echo $$file | sed 's,.*/,,'`"; \
323 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkglibdir)/$$dest; \
324 done
325 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
326 @list='$(PKGDATA)'; \
327 for file in $$list; do \
328 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
329 dest="`echo $$file | sed 's,.*/,,'`"; \
330 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
331 done
332 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
333 @list='$(bin_UTILITIES) $(GRUB_EMU)'; for file in $$list; do \
334 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
335 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
336 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
337 PATH="$(builddir):$$PATH" $(HELP2MAN) --section=1 -i $(srcdir)/docs/man/$$file.h2m -o $(DESTDIR)$(mandir)/man1/$$dest.1 $$file; \
338 done
339 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8
340 @list='$(sbin_UTILITIES)'; for file in $$list; do \
341 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
342 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
343 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
344 PATH="$(builddir):$$PATH" $(HELP2MAN) --section=8 -i $(srcdir)/docs/man/$$file.h2m -o $(DESTDIR)$(mandir)/man8/$$dest.8 $$file; \
345 done
346 @list='$(bin_SCRIPTS)'; for file in $$list; do \
347 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
348 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
349 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
350 PATH="$(builddir):$$PATH" $(HELP2MAN) --section=1 -i $(srcdir)/docs/man/$$file.h2m -o $(DESTDIR)$(mandir)/man1/$$dest.1 $$file; \
351 done
352 @list='$(sbin_SCRIPTS)'; for file in $$list; do \
353 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
354 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
355 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
356 PATH="$(builddir):$$PATH" $(HELP2MAN) --section=8 -i $(srcdir)/docs/man/$$file.h2m -o $(DESTDIR)$(mandir)/man8/$$dest.8 $$file; \
357 done
358 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/grub.d
359 @list='$(grub-mkconfig_SCRIPTS)'; for file in $$list; do \
360 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
361 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
362 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
363 done
364 @list='$(grub-mkconfig_DATA)'; for file in $$list; do \
365 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
366 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
367 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
368 done
369 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(libdir)/grub
370 @list='$(lib_SCRIPTS)'; \
371 for file in $$list; do \
372 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
373 dest="`echo $$file | sed 's,.*/,,'`"; \
374 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \
375 done
376 @langs='$(LINGUAS)'; \
377 for lang in $$langs; do \
378 $(SHELL) $(mkinstalldirs) $(DESTDIR)/$(datadir)/locale/$$lang/LC_MESSAGES; \
379 file="po/$$lang.mo"; \
380 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
381 $(INSTALL_DATA) $$dir$$file $(DESTDIR)/$(datadir)/locale/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
382 done
383 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(infodir)
384 @list='$(info_INFOS)'; \
385 for file in $$list; do \
386 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
387 dest="`echo $$file | sed 's,.*/,,'`"; \
388 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(infodir); \
389 if (install-info --version && \
390 install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
391 install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$dest" || :; \
392 fi; \
393 done
394
395 install-strip:
396 $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install
397
398 uninstall:
399 @list='$(PKGLIB)'; \
400 for file in $$list; do \
401 dest="`echo $$file | sed 's,.*/,,'`"; \
402 rm -f $(DESTDIR)$(pkglibdir)/$$dest; \
403 done
404 @list='$(PKGDATA)'; \
405 for file in $$list; do \
406 dest="`echo $$file | sed 's,.*/,,'`"; \
407 rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
408 done
409 @list='$(bin_UTILITIES) $(bin_SCRIPTS) $(GRUB_EMU)'; for file in $$list; do \
410 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
411 rm -f $(DESTDIR)$(bindir)/$$dest; \
412 rm -f $(DESTDIR)$(mandir)/man1/$$dest.1; \
413 done
414 @list='$(sbin_UTILITIES) $(sbin_SCRIPTS)'; for file in $$list; do \
415 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
416 rm -f $(DESTDIR)$(sbindir)/$$dest; \
417 rm -f $(DESTDIR)$(mandir)/man8/$$dest.8; \
418 done
419 @list='$(grub-mkconfig_SCRIPTS) $(grub-mkconfig_DATA)'; for file in $$list; do \
420 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
421 rm -f $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
422 done
423 @list='$(lib_SCRIPTS)'; \
424 for file in $$list; do \
425 dest="`echo $$file | sed 's,.*/,,'`"; \
426 rm -f $(DESTDIR)$(libdir)/grub/$$dest; \
427 done
428 @list='$(info_INFOS)'; \
429 for file in $$list; do \
430 dest="`echo $$file | sed 's,.*/,,'`"; \
431 if (install-info --version && \
432 install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
433 if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$dest"; then \
434 :; \
435 else \
436 test ! -f "$(DESTDIR)$(infodir)/$$dest" || exit 1; \
437 fi; \
438 fi; \
439 rm -f $(DESTDIR)$(infodir)/$$dest; \
440 done
441
442 clean: $(CLEAN_IMAGE_TARGETS) $(CLEAN_MODULE_TARGETS) $(CLEAN_UTILITY_TARGETS)
443 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
444
445 mostlyclean: clean $(MOSTLYCLEAN_IMAGE_TARGETS) $(MOSTLYCLEAN_MODULE_TARGETS) $(MOSTLYCLEAN_UTILITY_TARGETS)
446 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
447
448 distclean: mostlyclean
449 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
450 -rm -rf $(srcdir)/autom4te.cache
451
452 maintainer-clean: distclean
453 -test -z "$(MAINTAINER_CLEANFILES)" || rm -f $(MAINTAINER_CLEANFILES)
454 -rmdir $(srcdir)/lib/libgcrypt-grub/cipher
455 -rmdir $(srcdir)/lib/libgcrypt-grub
456
457 info:
458
459 dvi:
460
461 distdir=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
462
463 DISTLIST: gendistlist.sh
464 $(SHELL) $(srcdir)/gendistlist.sh > $(srcdir)/DISTLIST
465
466 distdir: DISTLIST
467 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
468 $(SHELL) $(mkinstalldirs) $(distdir)
469 for i in `cat $(srcdir)/DISTLIST`; do \
470 dir=`echo "$$i" | sed 's:/[^/]*$$::'`; \
471 if test -d $(srcdir)/$$dir; then \
472 $(SHELL) $(mkinstalldirs) $(distdir)/$$dir; \
473 fi; \
474 cp -p $(srcdir)/$$i $(distdir)/$$i || exit 1; \
475 done
476 chmod -R a+r $(distdir)
477
478 GZIP_ENV = --best
479
480 dist: distdir
481 tar chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
482 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
483
484 distcheck: dist
485 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
486 GZIP=$(GZIP_ENV) gzip -cd $(distdir).tar.gz | tar xf -
487 chmod -R a-w $(distdir)
488 chmod a+w $(distdir)
489 mkdir $(distdir)/=build
490 mkdir $(distdir)/=inst
491 chmod a-w $(distdir)
492 dc_instdir=`CDPATH=: && cd $(distdir)/=inst && pwd` \
493 && cd $(distdir)/=build \
494 && $(SHELL) ../configure --srcdir=.. --prefix=$$dc_instdir \
495 && $(MAKE) all dvi check install && $(MAKE) uninstall \
496 && (test `find $$dc_instdir -type f -print | wc -l` -le 1 \
497 || (echo "Error: files left after uninstall" 1>&2; \
498 exit 1)) \
499 && $(MAKE) dist && $(MAKE) distclean \
500 && rm -f $(distdir).tar.gz \
501 && (test `find . -type f -print | wc -l` -eq 0 \
502 || (echo "Error: files left after distclean" 1>&2; \
503 exit 1))
504 -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
505 @echo "$(distdir).tar.gz is ready for distribution" | \
506 sed 'h;s/./=/g;p;x;p;x'
507
508 check: all $(UNIT_TESTS) $(FUNCTIONAL_TESTS) $(SCRIPTED_TESTS)
509 @list="$(UNIT_TESTS)"; \
510 set -e; \
511 for file in $$list; do \
512 $(builddir)/$$file; \
513 done
514 @list="$(FUNCTIONAL_TESTS)"; \
515 set -e; \
516 for file in $$list; do \
517 mod=`basename $$file .mod`; \
518 echo "insmod functional_test; insmod $$mod; functional_test" \
519 | $(builddir)/grub-shell; \
520 done
521 @list="$(SCRIPTED_TESTS)"; \
522 set -e; \
523 for file in $$list; do \
524 $(builddir)/$$file; \
525 done
526
527 .SUFFIXES:
528 .SUFFIXES: .c .o .S .d
529
530 # Regenerate configure and Makefile automatically.
531 $(srcdir)/aclocal.m4: configure.ac acinclude.m4
532 cd $(srcdir) && aclocal
533
534 $(srcdir)/configure: configure.ac aclocal.m4
535 cd $(srcdir) && autoconf
536
537 $(srcdir)/config.h.in: stamp-h.in
538 $(srcdir)/stamp-h.in: configure.ac aclocal.m4
539 cd $(srcdir) && autoheader
540 echo timestamp > $(srcdir)/stamp-h.in
541
542 config.h: stamp-h
543 stamp-h: config.h.in config.status
544 $(SHELL) ./config.status
545
546 Makefile: Makefile.in config.status
547 $(SHELL) ./config.status
548
549 config.status: configure
550 $(SHELL) ./config.status --recheck
551
552 gensymlist.sh: gensymlist.sh.in config.status
553 $(SHELL) ./config.status
554
555 genkernsyms.sh: genkernsyms.sh.in config.status
556 $(SHELL) ./config.status
557
558 $(srcdir)/po/$(PACKAGE).pot: po/POTFILES po/POTFILES-shell
559 cd $(srcdir) && $(XGETTEXT) -ctranslate --from-code=utf-8 -o po/$(PACKAGE).pot -f po/POTFILES --keyword=_ --keyword=N_
560 cd $(srcdir) && $(XGETTEXT) -ctranslate --from-code=utf-8 -o po/$(PACKAGE).pot -f po/POTFILES-shell -j --language=Shell
561
562 $(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): po/$(PACKAGE).pot
563 $(MSGMERGE) -U $@ $^
564
565 po/%.mo: po/%.po
566 $(MKDIR_P) $$(dirname $@)
567 $(MSGFMT) -c --statistics -o $@ $^
568
569 .PHONY: all install install-strip uninstall clean mostlyclean distclean
570 .PHONY: maintainer-clean info dvi dist check
571
572 # Prevent an overflow.
573 .NOEXPORT:
574
575 .DELETE_ON_ERROR: