]> git.proxmox.com Git - grub2.git/blame - Makefile.in
2009-02-08 Marco Gerards <marco@gnu.org>
[grub2.git] / Makefile.in
CommitLineData
6a161fa9 1# -*- makefile -*-
2#
f36cc108 3# Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009,2008 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@
38infodir = @infodir@
39mandir = @mandir@
40includedir = @includedir@
1d543c3e 41pkgdatadir = $(datadir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'`
42pkglibdir = $(libdir)/`echo @PACKAGE_TARNAME@/$(target_cpu)-$(platform) | sed '$(transform)'`
6a161fa9 43
44PACKAGE_NAME = @PACKAGE_NAME@
45PACKAGE_TARNAME = @PACKAGE_TARNAME@
46PACKAGE_VERSION = @PACKAGE_VERSION@
47PACKAGE_STRING = @PACKAGE_STRING@
48PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
49
b977bf01 50target_cpu = @target_cpu@
2d05bc6a 51target_os = @target_os@
05568c2e 52platform = @platform@
6a161fa9 53
54INSTALL = @INSTALL@
55INSTALL_PROGRAM = @INSTALL_PROGRAM@
56INSTALL_DATA = @INSTALL_DATA@
57INSTALL_SCRIPT = @INSTALL_SCRIPT@
58INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
59
60mkinstalldirs = $(srcdir)/mkinstalldirs
61
62CC = @CC@
63CFLAGS = @CFLAGS@
ff04ec24 64LDFLAGS = @LDFLAGS@
926b9823 65CPPFLAGS = @CPPFLAGS@ -I$(builddir) -I$(builddir)/include -I$(srcdir)/include -Wall -W \
b977bf01 66 -DGRUB_LIBDIR=\"$(pkglibdir)\"
67TARGET_CC = @TARGET_CC@
68TARGET_CFLAGS = @TARGET_CFLAGS@
926b9823 69TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(builddir) -I$(builddir)/include -I$(srcdir)/include \
b977bf01 70 -Wall -W
71TARGET_LDFLAGS = @TARGET_LDFLAGS@
2a8a80e4 72TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
73TARGET_IMG_LDFLAGS = @TARGET_IMG_LDFLAGS@
74TARGET_OBJ2ELF = @TARGET_OBJ2ELF@
cb71ba20 75MODULE_LDFLAGS = @MODULE_LDFLAGS@
2a8a80e4 76EXEEXT = @EXEEXT@
6a161fa9 77OBJCOPY = @OBJCOPY@
78STRIP = @STRIP@
79NM = @NM@
80RUBY = @RUBY@
68807e5f 81HELP2MAN = @HELP2MAN@
82ifeq (, $(HELP2MAN))
83HELP2MAN = true
84else
85HELP2MAN := LANG=C $(HELP2MAN) --no-info --source=FSF
86endif
b977bf01 87AWK = @AWK@
f4917dfd 88LIBCURSES = @LIBCURSES@
4ac9bd04 89LIBLZO = @LIBLZO@
144f1f98 90YACC = @YACC@
1e901a75 91UNIFONT_BDF = @UNIFONT_BDF@
6a161fa9 92
4fe9862e 93# Options.
94enable_grub_emu = @enable_grub_emu@
d64399b5 95enable_grub_emu_usb = @enable_grub_emu_usb@
99fadbaa 96enable_grub_fstest = @enable_grub_fstest@
2d05bc6a 97enable_grub_pe2elf = @enable_grub_pe2elf@
aa24b516 98enable_lzo = @enable_lzo@
e52db1f7 99enable_grub_mkfont = @enable_grub_mkfont@
100freetype_cflags = @freetype_cflags@
101freetype_libs = @freetype_libs@
4fe9862e 102
6a161fa9 103### General variables.
104
040030b3 105RMKFILES = $(addprefix conf/,common.rmk i386-coreboot.rmk i386-efi.rmk \
106 i386-ieee1275.rmk i386-pc.rmk i386.rmk powerpc-ieee1275.rmk \
107 sparc64-ieee1275.rmk x86_64-efi.rmk)
108
6a161fa9 109MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
110
4931827f 111PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \
37c86336 112 $(pkglib_DATA) $(lib_DATA) $(pkglib_BUILDDIR)
113PKGDATA = $(pkgdata_DATA) $(pkgdata_SRCDIR)
6a161fa9 114PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
18ade780 115SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS)
6a161fa9 116
117CLEANFILES =
118MOSTLYCLEANFILES =
119DISTCLEANFILES = config.status config.cache config.log config.h \
7b455f4d 120 Makefile stamp-h include/grub/cpu include/grub/machine \
2a9c5940 121 gensymlist.sh genkernsyms.sh build_env.mk
6a161fa9 122MAINTAINER_CLEANFILES = $(srcdir)/configure $(addprefix $(srcdir)/,$(MKFILES))
123
124# The default target.
125all: all-local
126
127### Include an arch-specific Makefile.
128$(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk genmk.rb
129 if test "x$(RUBY)" = x; then \
130 touch $@; \
131 else \
132 $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
133 fi
134
b977bf01 135include $(srcdir)/conf/$(target_cpu)-$(platform).mk
6a161fa9 136
137### General targets.
138
4931827f 139CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA)
58cd3d85 140pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst
b977bf01 141moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
142 cat $(DEFSYMFILES) /dev/null \
143 | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
233b1628 144 || (rm -f $@; exit 1)
145
146command.lst: $(COMMANDFILES)
147 cat $^ /dev/null | sort > $@
148
149fs.lst: $(FSFILES)
150 cat $^ /dev/null | sort > $@
151
58cd3d85 152partmap.lst: $(PARTMAPFILES)
153 cat $^ /dev/null | sort > $@
154
1e901a75 155ifeq (, $(UNIFONT_BDF))
4931827f 156else
4fa80998 157
158ifeq ($(enable_grub_mkfont),yes)
159
1e901a75 160pkgdata_DATA += unicode.pf2 ascii.pf2
12ccdb75 161
162# Arrows and lines are needed to draw the menu, so we always include them
163UNICODE_ARROWS=0x2190-0x2193
164UNICODE_LINES=0x2501-0x251B
165
4fa80998 166unicode.pf2: $(UNIFONT_BDF) grub-mkfont
167 $(builddir)/grub-mkfont -o $@ $(UNIFONT_BDF)
1e901a75 168
4fa80998 169ascii.pf2: $(UNIFONT_BDF) grub-mkfont
170 $(builddir)/grub-mkfont -o $@ $(UNIFONT_BDF) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES)
171endif
4931827f 172endif
173
37c86336 174# Used for building modules externally
175pkglib_BUILDDIR += build_env.mk
176build_env.mk: Makefile
177 (\
178 echo "TARGET_CC=$(TARGET_CC)" ; \
179 echo "TARGET_CFLAGS=$(TARGET_CFLAGS)" ; \
180 echo "TARGET_CPPFLAGS=$(TARGET_CPPFLAGS) -I$(pkglibdir)" ; \
181 echo "STRIP=$(STRIP)" ; \
182 echo "COMMON_ASFLAGS=$(COMMON_ASFLAGS)" ; \
183 echo "COMMON_CFLAGS=$(COMMON_CFLAGS)" ; \
184 echo "COMMON_LDFLAGS=$(COMMON_LDFLAGS)"\
185 ) > $@
186pkglib_BUILDDIR += config.h grub_script.tab.h
187pkgdata_SRCDIR += genmodsrc.sh genmk.rb
ac293d50 188include_DATA += $(shell find $(srcdir)/include -name \*.h | sed -e "s,^$(srcdir)/,,g") include/grub/cpu
37c86336 189
4931827f 190all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(MKFILES)
6a161fa9 191
192install: install-local
193
194install-local: all
05568c2e 195 $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
4931827f 196 @list='$(PKGLIB)'; \
7b1f4b57 197 for file in $$list; do \
da65cb36 198 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
6a161fa9 199 dest="`echo $$file | sed 's,.*/,,'`"; \
05568c2e 200 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkglibdir)/$$dest; \
6a161fa9 201 done
37c86336 202 $(mkinstalldirs) $(DESTDIR)$(includedir)
203 @list='$(include_DATA)'; \
204 for file in $$list; do \
205 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
206 dest="`echo $$file | sed 's,include/,,'`"; \
207 destdir="`echo $$dest | sed 's,\(^\|/\)[^/]*$$,,g'`"; \
208 $(mkinstalldirs) $(DESTDIR)$(includedir)/$$destdir; \
209 if test -f "$$dir$$file"; then \
210 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(includedir)/$$dest; \
211 elif test -L "$$dir$$file"; then \
212 cp -d $$dir$$file $(DESTDIR)$(includedir)/$$dest; \
213 fi; \
214 done
4931827f 215 $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
216 @list='$(PKGDATA)'; \
217 for file in $$list; do \
218 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
219 dest="`echo $$file | sed 's,.*/,,'`"; \
220 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
221 done
68807e5f 222 $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
6a161fa9 223 @list='$(bin_UTILITIES)'; for file in $$list; do \
da65cb36 224 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
1d543c3e 225 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
6a161fa9 226 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
68807e5f 227 $(HELP2MAN) --section=1 $(builddir)/$$file > $(DESTDIR)$(mandir)/man1/$$dest.1; \
6a161fa9 228 done
68807e5f 229 $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8
1cc73a62 230 @list='$(sbin_UTILITIES)'; for file in $$list; do \
da65cb36 231 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
1d543c3e 232 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
1cc73a62 233 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
68807e5f 234 $(HELP2MAN) --section=8 $(builddir)/$$file > $(DESTDIR)$(mandir)/man8/$$dest.8; \
1cc73a62 235 done
7ee367e4 236 @list='$(bin_SCRIPTS)'; for file in $$list; do \
237 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
238 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
239 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
68807e5f 240 $(HELP2MAN) --section=1 $(builddir)/$$file > $(DESTDIR)$(mandir)/man1/$$dest.1; \
7ee367e4 241 done
075a1650 242 @list='$(sbin_SCRIPTS)'; for file in $$list; do \
da65cb36 243 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
1d543c3e 244 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
075a1650 245 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
68807e5f 246 $(HELP2MAN) --section=8 $(builddir)/$$file > $(DESTDIR)$(mandir)/man8/$$dest.8; \
075a1650 247 done
ebd97f6e 248 $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/grub.d
18ade780 249 @list='$(grub-mkconfig_SCRIPTS)'; for file in $$list; do \
da65cb36 250 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
ebd97f6e 251 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
252 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
253 done
18ade780 254 @list='$(grub-mkconfig_DATA)'; for file in $$list; do \
da65cb36 255 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
ebd97f6e 256 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
257 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
258 done
42c71976 259 $(mkinstalldirs) $(DESTDIR)$(libdir)/grub
260 @list='$(lib_DATA)'; \
261 for file in $$list; do \
262 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
263 dest="`echo $$file | sed 's,.*/,,'`"; \
264 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \
265 done
6a161fa9 266
267install-strip:
268 $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install
269
270uninstall:
4931827f 271 @list='$(PKGLIB)'; \
0058f771 272 for file in $$list; do \
6a161fa9 273 dest="`echo $$file | sed 's,.*/,,'`"; \
05568c2e 274 rm -f $(DESTDIR)$(pkglibdir)/$$dest; \
6a161fa9 275 done
4931827f 276 @list='$(PKGDATA)'; \
277 for file in $$list; do \
278 dest="`echo $$file | sed 's,.*/,,'`"; \
279 rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
280 done
7ee367e4 281 @list='$(bin_UTILITIES) $(bin_SCRIPTS)'; for file in $$list; do \
1d543c3e 282 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
6a161fa9 283 rm -f $(DESTDIR)$(bindir)/$$dest; \
284 done
075a1650 285 @list='$(sbin_UTILITIES) $(sbin_SCRIPTS)'; for file in $$list; do \
1d543c3e 286 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
1cc73a62 287 rm -f $(DESTDIR)$(sbindir)/$$dest; \
288 done
18ade780 289 @list='$(grub-mkconfig_SCRIPTS) $(grub-mkconfig_DATA)'; for file in $$list; do \
7076340d 290 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
291 rm -f $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
292 done
6a161fa9 293
294clean:
295 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
296
297mostlyclean: clean
298 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
299
300distclean: mostlyclean
301 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
302 -rm -rf $(srcdir)/autom4te.cache
303
304maintainer-clean: distclean
305 -test -z "$(MAINTAINER_CLEANFILES)" || rm -f $(MAINTAINER_CLEANFILES)
306
307info:
308
309dvi:
310
311distdir=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
312
0058f771 313DISTLIST: gendistlist.sh
314 sh $(srcdir)/gendistlist.sh > $(srcdir)/DISTLIST
315
316distdir: DISTLIST
6a161fa9 317 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
318 $(mkinstalldirs) $(distdir)
0058f771 319 for i in `cat $(srcdir)/DISTLIST`; do \
6a161fa9 320 dir=`echo "$$i" | sed 's:/[^/]*$$::'`; \
321 if test -d $(srcdir)/$$dir; then \
322 $(mkinstalldirs) $(distdir)/$$dir; \
323 fi; \
324 cp -p $(srcdir)/$$i $(distdir)/$$i || exit 1; \
325 done
326 chmod -R a+r $(distdir)
327
328GZIP_ENV = --best
329
330dist: distdir
331 tar chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
332 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
333
334distcheck: dist
335 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
336 GZIP=$(GZIP_ENV) gzip -cd $(distdir).tar.gz | tar xf -
337 chmod -R a-w $(distdir)
338 chmod a+w $(distdir)
339 mkdir $(distdir)/=build
340 mkdir $(distdir)/=inst
341 chmod a-w $(distdir)
342 dc_instdir=`CDPATH=: && cd $(distdir)/=inst && pwd` \
343 && cd $(distdir)/=build \
344 && ../configure --srcdir=.. --prefix=$$dc_instdir \
7076340d 345 && $(MAKE) all dvi check install && $(MAKE) uninstall \
6a161fa9 346 && (test `find $$dc_instdir -type f -print | wc -l` -le 1 \
347 || (echo "Error: files left after uninstall" 1>&2; \
348 exit 1)) \
7076340d 349 && $(MAKE) dist && $(MAKE) distclean \
6a161fa9 350 && rm -f $(distdir).tar.gz \
351 && (test `find . -type f -print | wc -l` -eq 0 \
352 || (echo "Error: files left after distclean" 1>&2; \
353 exit 1))
354 -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
355 @echo "$(distdir).tar.gz is ready for distribution" | \
356 sed 'h;s/./=/g;p;x;p;x'
357
358check:
359
360.SUFFIX:
361.SUFFIX: .c .o .S .d
362
363# Regenerate configure and Makefile automatically.
364$(srcdir)/configure: configure.ac aclocal.m4
365 cd $(srcdir) && autoconf
366
367$(srcdir)/config.h.in: stamp-h.in
368$(srcdir)/stamp-h.in: configure.ac aclocal.m4
369 cd $(srcdir) && autoheader
370 echo timestamp > $(srcdir)/stamp-h.in
371
372config.h: stamp-h
373stamp-h: config.h.in config.status
374 ./config.status
375
376Makefile: Makefile.in config.status
377 ./config.status
378
379config.status: configure
380 ./config.status --recheck
381
7b455f4d 382gensymlist.sh: gensymlist.sh.in config.status
383 ./config.status
384
385genkernsyms.sh: genkernsyms.sh.in config.status
386 ./config.status
387
6a161fa9 388.PHONY: all install install-strip uninstall clean mostlyclean distclean
389.PHONY: maintainer-clean info dvi dist check
390
391# Prevent an overflow.
392.NOEXPORT:
233b1628 393
394.DELETE_ON_ERROR: