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