]>
Commit | Line | Data |
---|---|---|
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 | ||
16 | SHELL = /bin/sh | |
17 | ||
18 | @SET_MAKE@ | |
19 | ||
1d543c3e | 20 | transform = @program_transform_name@ |
21 | ||
6a161fa9 | 22 | srcdir = @srcdir@ |
68807e5f | 23 | builddir = @builddir@ |
6a161fa9 | 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@ | |
3f6a10ef | 32 | datarootdir = @datarootdir@ |
6a161fa9 | 33 | datadir = @datadir@ |
34 | sysconfdir = @sysconfdir@ | |
35 | sharedstatedir = @sharedstatedir@ | |
36 | localstatedir = @localstatedir@ | |
37 | libdir = @libdir@ | |
ebfe7eb4 | 38 | localedir = @localedir@ |
6a161fa9 | 39 | infodir = @infodir@ |
40 | mandir = @mandir@ | |
41 | includedir = @includedir@ | |
1d543c3e | 42 | pkgdatadir = $(datadir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'` |
43 | pkglibdir = $(libdir)/`echo @PACKAGE_TARNAME@/$(target_cpu)-$(platform) | sed '$(transform)'` | |
6a161fa9 | 44 | |
2f1a3acf YB |
45 | # Internationalization library. |
46 | LIBINTL = @LIBINTL@ | |
f38873b8 | 47 | TARGET_NO_MODULES = @TARGET_NO_MODULES@ |
2f1a3acf | 48 | |
2c7031b1 GS |
49 | # Util library. |
50 | LIBUTIL = @LIBUTIL@ | |
51 | ||
8c37c91f RM |
52 | XGETTEXT = @XGETTEXT@ |
53 | MSGMERGE = @MSGMERGE@ | |
54 | MSGFMT = @MSGFMT@ | |
55 | ||
3bc7896c RM |
56 | LINGUAS = $(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 | 60 | PACKAGE = @PACKAGE@ |
6a161fa9 | 61 | PACKAGE_NAME = @PACKAGE_NAME@ |
62 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | |
63 | PACKAGE_VERSION = @PACKAGE_VERSION@ | |
64 | PACKAGE_STRING = @PACKAGE_STRING@ | |
65 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | |
66 | ||
56978920 | 67 | host_os = @host_os@ |
9304eef1 | 68 | host_kernel = @host_kernel@ |
56978920 | 69 | host_cpu = @host_cpu@ |
70 | ||
b977bf01 | 71 | target_cpu = @target_cpu@ |
05568c2e | 72 | platform = @platform@ |
6a161fa9 | 73 | |
74 | INSTALL = @INSTALL@ | |
75 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
76 | INSTALL_DATA = @INSTALL_DATA@ | |
77 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | |
78 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | |
ff420223 | 79 | MKDIR_P = @MKDIR_P@ |
6a161fa9 | 80 | |
81 | mkinstalldirs = $(srcdir)/mkinstalldirs | |
82 | ||
2c7031b1 | 83 | LIBS = @LIBS@ $(LIBINTL) $(LIBUTIL) |
2f1a3acf | 84 | |
6a161fa9 | 85 | CC = @CC@ |
86 | CFLAGS = @CFLAGS@ | |
a64b15fe VS |
87 | POSIX_CFLAGS = -I$(srcdir)/lib/posix_wrap |
88 | GNULIB_UTIL_CFLAGS = -Wno-undef -Wno-sign-compare -Wno-unused -D_GL_UNUSED="__attribute__ ((unused))" -I$(srcdir)/gnulib | |
89 | GNULIB_CFLAGS = $(GNULIB_UTIL_CFLAGS) $(POSIX_CFLAGS) | |
2b167a72 | 90 | ASFLAGS = @ASFLAGS@ |
2f1a3acf | 91 | LDFLAGS = @LDFLAGS@ $(LIBS) |
ab502ec5 | 92 | CPPFLAGS = @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 | 94 | TARGET_CC = @TARGET_CC@ |
5c2ee771 VS |
95 | TARGET_CFLAGS = -ffreestanding @TARGET_CFLAGS@ |
96 | TARGET_ASFLAGS = -nostdinc -fno-builtin @TARGET_ASFLAGS@ | |
2b167a72 | 97 | TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@ |
98 | TARGET_APPLE_CC = @TARGET_APPLE_CC@ | |
99 | OBJCONV = @OBJCONV@ | |
8f9a632b | 100 | TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(srcdir)/include -I$(builddir) -I$(builddir)/include \ |
b977bf01 | 101 | -Wall -W |
553c01f9 | 102 | TARGET_LDFLAGS = -nostdlib -static-libgcc @TARGET_LDFLAGS@ |
2a8a80e4 | 103 | TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@ |
5c2ee771 | 104 | TARGET_IMG_LDFLAGS = -nostdlib @TARGET_IMG_LDFLAGS@ |
2b167a72 | 105 | TARGET_IMG_CFLAGS = @TARGET_IMG_CFLAGS@ |
2a8a80e4 | 106 | TARGET_OBJ2ELF = @TARGET_OBJ2ELF@ |
553c01f9 | 107 | kernel_img_LDFLAGS = -lgcc |
2a8a80e4 | 108 | EXEEXT = @EXEEXT@ |
6a161fa9 | 109 | OBJCOPY = @OBJCOPY@ |
110 | STRIP = @STRIP@ | |
111 | NM = @NM@ | |
112 | RUBY = @RUBY@ | |
c44c90db | 113 | MAKEINFO = @MAKEINFO@ |
114 | ifeq (, $(MAKEINFO)) | |
115 | MAKEINFO = true | |
116 | endif | |
68807e5f | 117 | HELP2MAN = @HELP2MAN@ |
118 | ifeq (, $(HELP2MAN)) | |
119 | HELP2MAN = true | |
120 | else | |
121 | HELP2MAN := LANG=C $(HELP2MAN) --no-info --source=FSF | |
122 | endif | |
b977bf01 | 123 | AWK = @AWK@ |
f4917dfd | 124 | LIBCURSES = @LIBCURSES@ |
94414221 | 125 | LIBUSB = @LIBUSB@ |
927d0134 | 126 | LIBSDL = @LIBSDL@ |
459fed4b | 127 | LIBPCIACCESS = @LIBPCIACCESS@ |
b1654fdf | 128 | LEX = @LEX@ |
144f1f98 | 129 | YACC = @YACC@ |
6c09890c | 130 | FONT_SOURCE = @FONT_SOURCE@ |
6a161fa9 | 131 | |
4fe9862e | 132 | # Options. |
d64399b5 | 133 | enable_grub_emu_usb = @enable_grub_emu_usb@ |
927d0134 | 134 | enable_grub_emu_sdl = @enable_grub_emu_sdl@ |
3affd0ec | 135 | enable_grub_emu_pci = @enable_grub_emu_pci@ |
99fadbaa | 136 | enable_grub_fstest = @enable_grub_fstest@ |
2d05bc6a | 137 | enable_grub_pe2elf = @enable_grub_pe2elf@ |
e52db1f7 | 138 | enable_grub_mkfont = @enable_grub_mkfont@ |
139 | freetype_cflags = @freetype_cflags@ | |
140 | freetype_libs = @freetype_libs@ | |
fc45fb58 | 141 | enable_efiemu = @enable_efiemu@ |
4fe9862e | 142 | |
6a161fa9 | 143 | ### General variables. |
144 | ||
47822096 | 145 | RMKFILES = $(wildcard $(srcdir)/conf/*.rmk) |
040030b3 | 146 | |
6a161fa9 | 147 | MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES)) |
148 | ||
4931827f | 149 | PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \ |
ca0388f0 | 150 | $(pkglib_DATA) $(pkglib_BUILDDIR) |
e40893c3 | 151 | PKGDATA = $(pkgdata_DATA) |
6a161fa9 | 152 | PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES) |
ca0388f0 | 153 | SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS) \ |
154 | $(lib_SCRIPTS) | |
c44c90db | 155 | INFOS = $(info_INFOS) |
6a161fa9 | 156 | |
157 | CLEANFILES = | |
b39f9d20 | 158 | MOSTLYCLEANFILES = |
6a161fa9 | 159 | DISTCLEANFILES = 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 |
164 | MAINTAINER_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. | |
170 | all: 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 |
180 | ifeq ($(platform), emu) |
181 | include $(srcdir)/conf/any-emu.mk | |
182 | else | |
b977bf01 | 183 | include $(srcdir)/conf/$(target_cpu)-$(platform).mk |
6fc804ff BC |
184 | # For tests. |
185 | include $(srcdir)/conf/tests.mk | |
cefabfe1 | 186 | # For external modules. |
187 | -include $(wildcard $(GRUB_CONTRIB)/*/conf/common.mk) | |
11d9778b | 188 | endif |
cefabfe1 | 189 | |
f38873b8 VS |
190 | ifeq ($(TARGET_NO_MODULES), yes) |
191 | TARGET_CFLAGS += -DGRUB_TARGET_NO_MODULES=1 | |
192 | CFLAGS += -DGRUB_TARGET_NO_MODULES=1 | |
193 | endif | |
194 | ||
6a161fa9 | 195 | ### General targets. |
196 | ||
ed101e81 | 197 | CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA) po/*.mo |
f38873b8 | 198 | ifneq ($(TARGET_NO_MODULES), yes) |
ceb294b7 | 199 | pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst |
19987ffa | 200 | endif |
b977bf01 | 201 | moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk |
202 | cat $(DEFSYMFILES) /dev/null \ | |
203 | | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \ | |
233b1628 | 204 | || (rm -f $@; exit 1) |
205 | ||
206 | command.lst: $(COMMANDFILES) | |
207 | cat $^ /dev/null | sort > $@ | |
208 | ||
209 | fs.lst: $(FSFILES) | |
210 | cat $^ /dev/null | sort > $@ | |
211 | ||
58cd3d85 | 212 | partmap.lst: $(PARTMAPFILES) |
213 | cat $^ /dev/null | sort > $@ | |
214 | ||
d05f0df3 | 215 | handler.lst: $(HANDLERFILES) |
216 | cat $^ /dev/null | sort > $@ | |
217 | ||
33c1ed4c VS |
218 | terminal.lst: $(TERMINALFILES) |
219 | cat $^ /dev/null | sort > $@ | |
220 | ||
e4343593 | 221 | parttool.lst: $(PARTTOOLFILES) |
222 | cat $^ /dev/null | sort | uniq > $@ | |
223 | ||
dc0c71d9 RM |
224 | video.lst: $(VIDEOFILES) |
225 | cat $^ /dev/null | sort | uniq > $@ | |
226 | ||
7316783f VS |
227 | crypto.lst: lib/libgcrypt-grub/cipher/crypto.lst |
228 | cp $^ $@ | |
229 | ||
83b65c4a | 230 | ifneq (true, $(MAKEINFO)) |
c44c90db | 231 | info_INFOS += docs/grub.info |
83b65c4a | 232 | endif |
c44c90db | 233 | |
234 | MOSTLYCLEANFILES += vti.tmp | |
235 | MAINTAINER_CLEANFILES += docs/stamp-vti docs/version.texi | |
236 | docs/version.texi: docs/stamp-vti | |
186e7cf2 | 237 | docs/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. | |
251 | docs/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 | 255 | ifeq (, $(FONT_SOURCE)) |
4931827f | 256 | else |
4fa80998 | 257 | |
258 | ifeq ($(enable_grub_mkfont),yes) | |
259 | ||
b4f58b4a | 260 | pkgdata_DATA += unicode.pf2 ascii.pf2 ascii.h |
c0ee0385 | 261 | CLEANFILES += ascii.bitmaps |
12ccdb75 | 262 | |
263 | # Arrows and lines are needed to draw the menu, so we always include them | |
264 | UNICODE_ARROWS=0x2190-0x2193 | |
265 | UNICODE_LINES=0x2501-0x251B | |
266 | ||
6c09890c FZ |
267 | unicode.pf2: $(FONT_SOURCE) grub-mkfont |
268 | $(builddir)/grub-mkfont -o $@ $(FONT_SOURCE) | |
1e901a75 | 269 | |
6c09890c FZ |
270 | ascii.pf2: $(FONT_SOURCE) grub-mkfont |
271 | $(builddir)/grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES) | |
26ba5c22 | 272 | |
b4f58b4a | 273 | ascii.bitmaps: $(FONT_SOURCE) grub-mkfont |
26ba5c22 | 274 | $(builddir)/grub-mkfont --ascii-bitmaps -o $@ $(FONT_SOURCE) |
275 | ||
b4f58b4a RM |
276 | ascii.h: ascii.bitmaps grub-bin2h |
277 | $(builddir)/grub-bin2h ascii_bitmaps < $< > $@ | |
bd719e5a | 278 | |
279 | TARGET_CFLAGS += -DUSE_ASCII_FAILBACK=1 | |
4fa80998 | 280 | endif |
4931827f | 281 | endif |
282 | ||
37c86336 | 283 | # Used for building modules externally |
284 | pkglib_BUILDDIR += build_env.mk | |
285 | build_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 | ) > $@ | |
299 | pkglib_BUILDDIR += config.h grub_script.tab.h | |
37c86336 | 300 | |
19987ffa | 301 | all-local: $(PROGRAMS) $(GRUB_EMU) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES) $(foreach lang, $(LINGUAS), po/$(lang).mo) |
6a161fa9 | 302 | |
303 | install: install-local | |
304 | ||
305 | install-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 | |
384 | install-strip: | |
385 | $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install | |
386 | ||
387 | uninstall: | |
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 | 431 | clean: $(CLEAN_IMAGE_TARGETS) $(CLEAN_MODULE_TARGETS) $(CLEAN_UTILITY_TARGETS) |
6a161fa9 | 432 | -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) |
433 | ||
e8f5d6e9 | 434 | mostlyclean: clean $(MOSTLYCLEAN_IMAGE_TARGETS) $(MOSTLYCLEAN_MODULE_TARGETS) $(MOSTLYCLEAN_UTILITY_TARGETS) |
6a161fa9 | 435 | -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) |
436 | ||
437 | distclean: mostlyclean | |
438 | -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) | |
439 | -rm -rf $(srcdir)/autom4te.cache | |
440 | ||
441 | maintainer-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 | |
446 | info: | |
447 | ||
448 | dvi: | |
449 | ||
450 | distdir=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION) | |
451 | ||
0058f771 | 452 | DISTLIST: gendistlist.sh |
c1cb63ba | 453 | $(SHELL) $(srcdir)/gendistlist.sh > $(srcdir)/DISTLIST |
0058f771 | 454 | |
455 | distdir: 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 | ||
467 | GZIP_ENV = --best | |
468 | ||
469 | dist: 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 | ||
473 | distcheck: 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 |
497 | check: 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 | ||
531 | config.h: stamp-h | |
532 | stamp-h: config.h.in config.status | |
c1cb63ba | 533 | $(SHELL) ./config.status |
6a161fa9 | 534 | |
535 | Makefile: Makefile.in config.status | |
c1cb63ba | 536 | $(SHELL) ./config.status |
6a161fa9 | 537 | |
538 | config.status: configure | |
c1cb63ba | 539 | $(SHELL) ./config.status --recheck |
6a161fa9 | 540 | |
7b455f4d | 541 | gensymlist.sh: gensymlist.sh.in config.status |
c1cb63ba | 542 | $(SHELL) ./config.status |
7b455f4d | 543 | |
544 | genkernsyms.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 | |
554 | po/%.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: |