008-09-21 Felix Zielcke <fzielcke@z-51.de>
[grub2/phcoder.git] / Makefile.in
blob57a1f0a3f6320fc273aefd745012df61037da143
1 # -*- makefile -*-
3 # Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007 Free Software Foundation, Inc.
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.
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.
14 ### The configure script will replace these variables.
16 SHELL = /bin/sh
18 @SET_MAKE@
20 transform = @program_transform_name@
22 srcdir = @srcdir@
23 builddir = @builddir@
24 top_srcdir = @top_srcdir@
25 VPATH = @srcdir@
26 prefix = @prefix@
27 exec_prefix = @exec_prefix@
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 infodir = @infodir@
39 mandir = @mandir@
40 includedir = @includedir@
41 pkgdatadir = $(datadir)/`echo @PACKAGE_TARNAME@ | sed '$(transform)'`
42 pkglibdir = $(libdir)/`echo @PACKAGE_TARNAME@/$(target_cpu)-$(platform) | sed '$(transform)'`
44 PACKAGE_NAME = @PACKAGE_NAME@
45 PACKAGE_TARNAME = @PACKAGE_TARNAME@
46 PACKAGE_VERSION = @PACKAGE_VERSION@
47 PACKAGE_STRING = @PACKAGE_STRING@
48 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
50 target_cpu = @target_cpu@
51 target_os = @target_os@
52 platform = @platform@
54 INSTALL = @INSTALL@
55 INSTALL_PROGRAM = @INSTALL_PROGRAM@
56 INSTALL_DATA = @INSTALL_DATA@
57 INSTALL_SCRIPT = @INSTALL_SCRIPT@
58 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
60 mkinstalldirs = $(srcdir)/mkinstalldirs
62 CC = @CC@
63 CFLAGS = @CFLAGS@
64 LDFLAGS = @LDFLAGS@
65 CPPFLAGS = @CPPFLAGS@ -I. -Iinclude -I$(srcdir)/include -Wall -W \
66 -DGRUB_LIBDIR=\"$(pkglibdir)\"
67 TARGET_CC = @TARGET_CC@
68 TARGET_CFLAGS = @TARGET_CFLAGS@
69 TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I. -Iinclude -I$(srcdir)/include \
70 -Wall -W
71 TARGET_LDFLAGS = @TARGET_LDFLAGS@
72 TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
73 TARGET_IMG_LDFLAGS = @TARGET_IMG_LDFLAGS@
74 TARGET_OBJ2ELF = @TARGET_OBJ2ELF@
75 MODULE_LDFLAGS = @MODULE_LDFLAGS@
76 EXEEXT = @EXEEXT@
77 OBJCOPY = @OBJCOPY@
78 STRIP = @STRIP@
79 NM = @NM@
80 RUBY = @RUBY@
81 HELP2MAN = @HELP2MAN@
82 ifeq (, $(HELP2MAN))
83 HELP2MAN = true
84 else
85 HELP2MAN := LANG=C $(HELP2MAN) --no-info --source=FSF
86 endif
87 AWK = @AWK@
88 LIBCURSES = @LIBCURSES@
89 LIBLZO = @LIBLZO@
90 YACC = @YACC@
91 UNIFONT_HEX = @UNIFONT_HEX@
93 # Options.
94 enable_grub_emu = @enable_grub_emu@
95 enable_grub_fstest = @enable_grub_fstest@
96 enable_grub_pe2elf = @enable_grub_pe2elf@
97 enable_lzo = @enable_lzo@
99 ### General variables.
101 RMKFILES = $(addprefix conf/,common.rmk i386-coreboot.rmk i386-efi.rmk \
102 i386-ieee1275.rmk i386-pc.rmk i386.rmk powerpc-ieee1275.rmk \
103 sparc64-ieee1275.rmk x86_64-efi.rmk)
105 MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
107 PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \
108 $(pkglib_DATA) $(lib_DATA)
109 PKGDATA = $(pkgdata_DATA)
110 PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
111 SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(update-grub_SCRIPTS)
113 CLEANFILES =
114 MOSTLYCLEANFILES =
115 DISTCLEANFILES = config.status config.cache config.log config.h \
116 Makefile stamp-h include/grub/cpu include/grub/machine \
117 gensymlist.sh genkernsyms.sh
118 MAINTAINER_CLEANFILES = $(srcdir)/configure $(addprefix $(srcdir)/,$(MKFILES))
120 # The default target.
121 all: all-local
123 ### Include an arch-specific Makefile.
124 $(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk genmk.rb
125 if test "x$(RUBY)" = x; then \
126 touch $@; \
127 else \
128 $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
131 include $(srcdir)/conf/$(target_cpu)-$(platform).mk
133 ### General targets.
135 CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA)
136 pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst
137 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
138 cat $(DEFSYMFILES) /dev/null \
139 | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
140 || (rm -f $@; exit 1)
142 command.lst: $(COMMANDFILES)
143 cat $^ /dev/null | sort > $@
145 fs.lst: $(FSFILES)
146 cat $^ /dev/null | sort > $@
148 partmap.lst: $(PARTMAPFILES)
149 cat $^ /dev/null | sort > $@
151 ifeq (, $(UNIFONT_HEX))
152 else
153 pkgdata_DATA += unicode.pff ascii.pff
155 # Arrows and lines are needed to draw the menu, so we always include them
156 UNICODE_ARROWS=0x2190-0x2193
157 UNICODE_LINES=0x2501-0x251B
159 unicode.pff: $(UNIFONT_HEX)
160 ruby $(srcdir)/util/unifont2pff.rb $(UNIFONT_HEX) > $@
162 ascii.pff: $(UNIFONT_HEX)
163 ruby $(srcdir)/util/unifont2pff.rb 0x0-0x7f $(UNICODE_ARROWS) $(UNICODE_LINES) $(UNIFONT_HEX) > $@
164 endif
166 all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(MKFILES)
168 install: install-local
170 install-local: all
171 $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
172 @list='$(PKGLIB)'; \
173 for file in $$list; do \
174 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
175 dest="`echo $$file | sed 's,.*/,,'`"; \
176 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkglibdir)/$$dest; \
177 done
178 $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
179 @list='$(PKGDATA)'; \
180 for file in $$list; do \
181 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
182 dest="`echo $$file | sed 's,.*/,,'`"; \
183 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
184 done
185 $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
186 @list='$(bin_UTILITIES)'; for file in $$list; do \
187 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
188 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
189 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
190 $(HELP2MAN) --section=1 $(builddir)/$$file > $(DESTDIR)$(mandir)/man1/$$dest.1; \
191 done
192 $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8
193 @list='$(sbin_UTILITIES)'; for file in $$list; do \
194 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
195 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
196 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
197 $(HELP2MAN) --section=8 $(builddir)/$$file > $(DESTDIR)$(mandir)/man8/$$dest.8; \
198 done
199 @list='$(bin_SCRIPTS)'; for file in $$list; do \
200 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
201 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
202 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
203 $(HELP2MAN) --section=1 $(builddir)/$$file > $(DESTDIR)$(mandir)/man1/$$dest.1; \
204 done
205 @list='$(sbin_SCRIPTS)'; for file in $$list; do \
206 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
207 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
208 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
209 $(HELP2MAN) --section=8 $(builddir)/$$file > $(DESTDIR)$(mandir)/man8/$$dest.8; \
210 done
211 $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/grub.d
212 @list='$(update-grub_SCRIPTS)'; for file in $$list; do \
213 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
214 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
215 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
216 done
217 @list='$(update-grub_DATA)'; for file in $$list; do \
218 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
219 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
220 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
221 done
222 $(mkinstalldirs) $(DESTDIR)$(libdir)/grub
223 @list='$(lib_DATA)'; \
224 for file in $$list; do \
225 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
226 dest="`echo $$file | sed 's,.*/,,'`"; \
227 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \
228 done
230 install-strip:
231 $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install
233 uninstall:
234 @list='$(PKGLIB)'; \
235 for file in $$list; do \
236 dest="`echo $$file | sed 's,.*/,,'`"; \
237 rm -f $(DESTDIR)$(pkglibdir)/$$dest; \
238 done
239 @list='$(PKGDATA)'; \
240 for file in $$list; do \
241 dest="`echo $$file | sed 's,.*/,,'`"; \
242 rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
243 done
244 @list='$(bin_UTILITIES) $(bin_SCRIPTS)'; for file in $$list; do \
245 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
246 rm -f $(DESTDIR)$(bindir)/$$dest; \
247 done
248 @list='$(sbin_UTILITIES) $(sbin_SCRIPTS)'; for file in $$list; do \
249 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
250 rm -f $(DESTDIR)$(sbindir)/$$dest; \
251 done
252 @list='$(update-grub_SCRIPTS) $(update-grub_DATA)'; for file in $$list; do \
253 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
254 rm -f $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
255 done
257 clean:
258 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
260 mostlyclean: clean
261 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
263 distclean: mostlyclean
264 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
265 -rm -rf $(srcdir)/autom4te.cache
267 maintainer-clean: distclean
268 -test -z "$(MAINTAINER_CLEANFILES)" || rm -f $(MAINTAINER_CLEANFILES)
270 info:
272 dvi:
274 distdir=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
276 DISTLIST: gendistlist.sh
277 sh $(srcdir)/gendistlist.sh > $(srcdir)/DISTLIST
279 distdir: DISTLIST
280 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
281 $(mkinstalldirs) $(distdir)
282 for i in `cat $(srcdir)/DISTLIST`; do \
283 dir=`echo "$$i" | sed 's:/[^/]*$$::'`; \
284 if test -d $(srcdir)/$$dir; then \
285 $(mkinstalldirs) $(distdir)/$$dir; \
286 fi; \
287 cp -p $(srcdir)/$$i $(distdir)/$$i || exit 1; \
288 done
289 chmod -R a+r $(distdir)
291 GZIP_ENV = --best
293 dist: distdir
294 tar chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
295 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
297 distcheck: dist
298 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
299 GZIP=$(GZIP_ENV) gzip -cd $(distdir).tar.gz | tar xf -
300 chmod -R a-w $(distdir)
301 chmod a+w $(distdir)
302 mkdir $(distdir)/=build
303 mkdir $(distdir)/=inst
304 chmod a-w $(distdir)
305 dc_instdir=`CDPATH=: && cd $(distdir)/=inst && pwd` \
306 && cd $(distdir)/=build \
307 && ../configure --srcdir=.. --prefix=$$dc_instdir \
308 && $(MAKE) all dvi check install && $(MAKE) uninstall \
309 && (test `find $$dc_instdir -type f -print | wc -l` -le 1 \
310 || (echo "Error: files left after uninstall" 1>&2; \
311 exit 1)) \
312 && $(MAKE) dist && $(MAKE) distclean \
313 && rm -f $(distdir).tar.gz \
314 && (test `find . -type f -print | wc -l` -eq 0 \
315 || (echo "Error: files left after distclean" 1>&2; \
316 exit 1))
317 -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
318 @echo "$(distdir).tar.gz is ready for distribution" | \
319 sed 'h;s/./=/g;p;x;p;x'
321 check:
323 .SUFFIX:
324 .SUFFIX: .c .o .S .d
326 # Regenerate configure and Makefile automatically.
327 $(srcdir)/configure: configure.ac aclocal.m4
328 cd $(srcdir) && autoconf
330 $(srcdir)/config.h.in: stamp-h.in
331 $(srcdir)/stamp-h.in: configure.ac aclocal.m4
332 cd $(srcdir) && autoheader
333 echo timestamp > $(srcdir)/stamp-h.in
335 config.h: stamp-h
336 stamp-h: config.h.in config.status
337 ./config.status
339 Makefile: Makefile.in config.status
340 ./config.status
342 config.status: configure
343 ./config.status --recheck
345 gensymlist.sh: gensymlist.sh.in config.status
346 ./config.status
348 genkernsyms.sh: genkernsyms.sh.in config.status
349 ./config.status
351 .PHONY: all install install-strip uninstall clean mostlyclean distclean
352 .PHONY: maintainer-clean info dvi dist check
354 # Prevent an overflow.
355 .NOEXPORT:
357 .DELETE_ON_ERROR: