2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
[grub2/phcoder/solaris.git] / Makefile.in
blobe0edbdb04d8400721a064f8f4f22ae0be549f6e1
1 # -*- makefile -*-
3 # Copyright (C) 1994,1995,1996,1997,1998,1999,2000,2001,2002,2004,2005,2006,2007,2008,2009 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 host_os = @host_os@
51 host_kernel = @host_kernel@
52 host_cpu = @host_cpu@
54 target_cpu = @target_cpu@
55 platform = @platform@
57 INSTALL = @INSTALL@
58 INSTALL_PROGRAM = @INSTALL_PROGRAM@
59 INSTALL_DATA = @INSTALL_DATA@
60 INSTALL_SCRIPT = @INSTALL_SCRIPT@
61 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
62 MKDIR_P = @MKDIR_P@
64 mkinstalldirs = $(srcdir)/mkinstalldirs
66 CC = @CC@
67 CFLAGS = @CFLAGS@
68 ASFLAGS = @ASFLAGS@
69 LDFLAGS = @LDFLAGS@
70 CPPFLAGS = @CPPFLAGS@ -I$(builddir) -I$(builddir)/include -I$(srcdir)/include -Wall -W \
71 -DGRUB_LIBDIR=\"$(pkglibdir)\"
72 TARGET_CC = @TARGET_CC@
73 TARGET_CFLAGS = @TARGET_CFLAGS@
74 TARGET_ASFLAGS = @TARGET_ASFLAGS@
75 TARGET_MODULE_FORMAT = @TARGET_MODULE_FORMAT@
76 TARGET_APPLE_CC = @TARGET_APPLE_CC@
77 OBJCONV = @OBJCONV@
78 TARGET_CPPFLAGS = @TARGET_CPPFLAGS@ -I$(builddir) -I$(builddir)/include -I$(srcdir)/include \
79 -Wall -W
80 TARGET_LDFLAGS = @TARGET_LDFLAGS@
81 TARGET_IMG_LDSCRIPT = @TARGET_IMG_LDSCRIPT@
82 TARGET_IMG_LDFLAGS = @TARGET_IMG_LDFLAGS@
83 TARGET_IMG_CFLAGS = @TARGET_IMG_CFLAGS@
84 TARGET_OBJ2ELF = @TARGET_OBJ2ELF@
85 EXEEXT = @EXEEXT@
86 OBJCOPY = @OBJCOPY@
87 STRIP = @STRIP@
88 NM = @NM@
89 RUBY = @RUBY@
90 MAKEINFO = @MAKEINFO@
91 ifeq (, $(MAKEINFO))
92 MAKEINFO = true
93 endif
94 HELP2MAN = @HELP2MAN@
95 ifeq (, $(HELP2MAN))
96 HELP2MAN = true
97 else
98 HELP2MAN := LANG=C $(HELP2MAN) --no-info --source=FSF
99 endif
100 AWK = @AWK@
101 LIBCURSES = @LIBCURSES@
102 LIBUSB = @LIBUSB@
103 YACC = @YACC@
104 UNIFONT_BDF = @UNIFONT_BDF@
106 # Options.
107 enable_grub_emu = @enable_grub_emu@
108 enable_grub_emu_usb = @enable_grub_emu_usb@
109 enable_grub_fstest = @enable_grub_fstest@
110 enable_grub_pe2elf = @enable_grub_pe2elf@
111 enable_grub_mkfont = @enable_grub_mkfont@
112 freetype_cflags = @freetype_cflags@
113 freetype_libs = @freetype_libs@
114 enable_efiemu = @enable_efiemu@
116 ### General variables.
118 RMKFILES = $(addprefix conf/,common.rmk i386-coreboot.rmk i386-efi.rmk \
119 i386-qemu.rmk i386-ieee1275.rmk i386-pc.rmk i386.rmk powerpc-ieee1275.rmk \
120 sparc64-ieee1275.rmk x86_64-efi.rmk)
122 MKFILES = $(patsubst %.rmk,%.mk,$(RMKFILES))
124 PKGLIB = $(pkglib_IMAGES) $(pkglib_MODULES) $(pkglib_PROGRAMS) \
125 $(pkglib_DATA) $(pkglib_BUILDDIR)
126 PKGDATA = $(pkgdata_DATA)
127 PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
128 SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS) \
129 $(lib_SCRIPTS)
130 INFOS = $(info_INFOS)
132 CLEANFILES =
133 MOSTLYCLEANFILES =
134 DISTCLEANFILES = config.status config.cache config.log config.h \
135 Makefile stamp-h include/grub/cpu include/grub/machine \
136 gensymlist.sh genkernsyms.sh build_env.mk
137 MAINTAINER_CLEANFILES = $(srcdir)/configure $(addprefix $(srcdir)/,$(MKFILES)) \
138 $(srcdir)/DISTLIST $(srcdir)/config.h.in $(srcdir)/stamp-h.in $(INFOS)
140 # The default target.
141 all: all-local
143 ### Include an arch-specific Makefile.
144 $(addprefix $(srcdir)/,$(MKFILES)): %.mk: %.rmk genmk.rb
145 if test "x$(RUBY)" = x; then \
146 touch $@; \
147 else \
148 $(RUBY) $(srcdir)/genmk.rb < $< > $@; \
151 include $(srcdir)/conf/$(target_cpu)-$(platform).mk
153 ### General targets.
155 CLEANFILES += $(pkglib_DATA) $(pkgdata_DATA)
156 pkglib_DATA += moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst
157 moddep.lst: $(DEFSYMFILES) $(UNDSYMFILES) genmoddep.awk
158 cat $(DEFSYMFILES) /dev/null \
159 | $(AWK) -f $(srcdir)/genmoddep.awk $(UNDSYMFILES) > $@ \
160 || (rm -f $@; exit 1)
162 command.lst: $(COMMANDFILES)
163 cat $^ /dev/null | sort > $@
165 fs.lst: $(FSFILES)
166 cat $^ /dev/null | sort > $@
168 partmap.lst: $(PARTMAPFILES)
169 cat $^ /dev/null | sort > $@
171 handler.lst: $(HANDLERFILES)
172 cat $^ /dev/null | sort > $@
174 parttool.lst: $(PARTTOOLFILES)
175 cat $^ /dev/null | sort | uniq > $@
177 ifneq (true, $(MAKEINFO))
178 info_INFOS += docs/grub.info
179 endif
181 MOSTLYCLEANFILES += vti.tmp
182 MAINTAINER_CLEANFILES += docs/stamp-vti docs/version.texi
183 docs/version.texi: docs/stamp-vti
184 docs/stamp-vti: docs/grub.texi configure.ac
185 $(MKDIR_P) docs
186 (set `$(SHELL) $(srcdir)/docs/mdate-sh $<`; \
187 echo "@set UPDATED $$1 $$2 $$3"; \
188 echo "@set UPDATED-MONTH $$2 $$3"; \
189 echo "@set EDITION $(PACKAGE_VERSION)"; \
190 echo "@set VERSION $(PACKAGE_VERSION)") > vti.tmp
191 @cmp -s vti.tmp $(builddir)/docs/version.texi \
192 || (echo "Updating $(builddir)/docs/version.texi"; \
193 cp vti.tmp $(builddir)/docs/version.texi)
194 -@rm -f vti.tmp
195 @cp $(builddir)/docs/version.texi $@
197 # Use --force until such time as the documentation is cleaned up.
198 docs/grub.info: docs/grub.texi docs/version.texi docs/fdl.texi
199 $(MKDIR_P) docs
200 $(MAKEINFO) -P $(builddir)/docs --no-split --force $< -o $@ || :
202 ifeq (, $(UNIFONT_BDF))
203 else
205 ifeq ($(enable_grub_mkfont),yes)
207 pkgdata_DATA += unicode.pf2 ascii.pf2
209 # Arrows and lines are needed to draw the menu, so we always include them
210 UNICODE_ARROWS=0x2190-0x2193
211 UNICODE_LINES=0x2501-0x251B
213 unicode.pf2: $(UNIFONT_BDF) grub-mkfont
214 $(builddir)/grub-mkfont -o $@ $(UNIFONT_BDF)
216 ascii.pf2: $(UNIFONT_BDF) grub-mkfont
217 $(builddir)/grub-mkfont -o $@ $(UNIFONT_BDF) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES)
218 endif
219 endif
221 # Used for building modules externally
222 pkglib_BUILDDIR += build_env.mk
223 build_env.mk: Makefile
225 echo "TARGET_CC=$(TARGET_CC)" ; \
226 echo "TARGET_CFLAGS=$(TARGET_CFLAGS)" ; \
227 echo "TARGET_ASFLAGS=$(TARGET_ASFLAGS)" ; \
228 echo "TARGET_CPPFLAGS=$(TARGET_CPPFLAGS) -I$(pkglibdir) -I$(includedir)" ; \
229 echo "STRIP=$(STRIP)" ; \
230 echo "OBJCONV=$(OBJCONV)" ; \
231 echo "TARGET_MODULE_FORMAT=$(TARGET_MODULE_FORMAT)" ; \
232 echo "TARGET_APPLE_CC=$(TARGET_APPLE_CC)" ; \
233 echo "COMMON_ASFLAGS=$(COMMON_ASFLAGS)" ; \
234 echo "COMMON_CFLAGS=$(COMMON_CFLAGS)" ; \
235 echo "COMMON_LDFLAGS=$(COMMON_LDFLAGS)"\
236 ) > $@
237 pkglib_BUILDDIR += config.h grub_script.tab.h
239 all-local: $(PROGRAMS) $(PKGLIB) $(PKGDATA) $(SCRIPTS) $(INFOS) $(MKFILES)
241 install: install-local
243 install-local: all
244 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
245 rm -f $(DESTDIR)$(pkglibdir)/*
246 @list='$(PKGLIB)'; \
247 for file in $$list; do \
248 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
249 dest="`echo $$file | sed 's,.*/,,'`"; \
250 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkglibdir)/$$dest; \
251 done
252 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
253 @list='$(PKGDATA)'; \
254 for file in $$list; do \
255 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
256 dest="`echo $$file | sed 's,.*/,,'`"; \
257 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(pkgdatadir)/$$dest; \
258 done
259 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1
260 @list='$(bin_UTILITIES)'; for file in $$list; do \
261 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
262 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
263 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
264 $(HELP2MAN) --section=1 -o $(DESTDIR)$(mandir)/man1/$$dest.1 $(builddir)/$$file; \
265 done
266 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8
267 @list='$(sbin_UTILITIES)'; for file in $$list; do \
268 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
269 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
270 $(INSTALL_PROGRAM) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
271 $(HELP2MAN) --section=8 -o $(DESTDIR)$(mandir)/man8/$$dest.8 $(builddir)/$$file; \
272 done
273 @list='$(bin_SCRIPTS)'; for file in $$list; do \
274 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
275 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
276 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(bindir)/$$dest; \
277 $(HELP2MAN) --section=1 -o $(DESTDIR)$(mandir)/man1/$$dest.1 $(builddir)/$$file; \
278 done
279 @list='$(sbin_SCRIPTS)'; for file in $$list; do \
280 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
281 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
282 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sbindir)/$$dest; \
283 $(HELP2MAN) --section=8 -o $(DESTDIR)$(mandir)/man8/$$dest.8 $(builddir)/$$file; \
284 done
285 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/grub.d
286 @list='$(grub-mkconfig_SCRIPTS)'; for file in $$list; do \
287 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
288 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
289 $(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
290 done
291 @list='$(grub-mkconfig_DATA)'; for file in $$list; do \
292 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
293 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
294 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
295 done
296 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(libdir)/grub
297 @list='$(lib_SCRIPTS)'; \
298 for file in $$list; do \
299 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
300 dest="`echo $$file | sed 's,.*/,,'`"; \
301 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(libdir)/grub/$$dest; \
302 done
303 $(SHELL) $(mkinstalldirs) $(DESTDIR)$(infodir)
304 @list='$(info_INFOS)'; \
305 for file in $$list; do \
306 if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
307 dest="`echo $$file | sed 's,.*/,,'`"; \
308 $(INSTALL_DATA) $$dir$$file $(DESTDIR)$(infodir); \
309 if (install-info --version && \
310 install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
311 install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$dest" || :; \
312 fi; \
313 done
315 install-strip:
316 $(MAKE) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" install
318 uninstall:
319 @list='$(PKGLIB)'; \
320 for file in $$list; do \
321 dest="`echo $$file | sed 's,.*/,,'`"; \
322 rm -f $(DESTDIR)$(pkglibdir)/$$dest; \
323 done
324 @list='$(PKGDATA)'; \
325 for file in $$list; do \
326 dest="`echo $$file | sed 's,.*/,,'`"; \
327 rm -f $(DESTDIR)$(pkgdatadir)/$$dest; \
328 done
329 @list='$(bin_UTILITIES) $(bin_SCRIPTS)'; for file in $$list; do \
330 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
331 rm -f $(DESTDIR)$(bindir)/$$dest; \
332 rm -f $(DESTDIR)$(mandir)/man1/$$dest.1; \
333 done
334 @list='$(sbin_UTILITIES) $(sbin_SCRIPTS)'; for file in $$list; do \
335 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
336 rm -f $(DESTDIR)$(sbindir)/$$dest; \
337 rm -f $(DESTDIR)$(mandir)/man8/$$dest.8; \
338 done
339 @list='$(grub-mkconfig_SCRIPTS) $(grub-mkconfig_DATA)'; for file in $$list; do \
340 dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
341 rm -f $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
342 done
343 @list='$(lib_SCRIPTS)'; \
344 for file in $$list; do \
345 dest="`echo $$file | sed 's,.*/,,'`"; \
346 echo rm -f $(DESTDIR)$(libdir)/$$dest; \
347 rm -f $(DESTDIR)$(libdir)/grub/$$dest; \
348 done
349 @list='$(info_INFOS)'; \
350 for file in $$list; do \
351 dest="`echo $$file | sed 's,.*/,,'`"; \
352 if (install-info --version && \
353 install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
354 if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$dest"; then \
355 :; \
356 else \
357 test ! -f "$(DESTDIR)$(infodir)/$$dest" || exit 1; \
358 fi; \
359 fi; \
360 rm -f $(DESTDIR)$(infodir)/$$dest; \
361 done
363 clean: $(CLEAN_IMAGE_TARGETS) $(CLEAN_MODULE_TARGETS) $(CLEAN_UTILITY_TARGETS)
364 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
366 mostlyclean: clean $(MOSTLYCLEAN_IMAGE_TARGETS) $(MOSTLYCLEAN_MODULE_TARGETS) $(MOSTLYCLEAN_UTILITY_TARGETS)
367 -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
369 distclean: mostlyclean
370 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
371 -rm -rf $(srcdir)/autom4te.cache
373 maintainer-clean: distclean
374 -test -z "$(MAINTAINER_CLEANFILES)" || rm -f $(MAINTAINER_CLEANFILES)
376 info:
378 dvi:
380 distdir=$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
382 DISTLIST: gendistlist.sh
383 $(SHELL) $(srcdir)/gendistlist.sh > $(srcdir)/DISTLIST
385 distdir: DISTLIST
386 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
387 $(SHELL) $(mkinstalldirs) $(distdir)
388 for i in `cat $(srcdir)/DISTLIST`; do \
389 dir=`echo "$$i" | sed 's:/[^/]*$$::'`; \
390 if test -d $(srcdir)/$$dir; then \
391 $(SHELL) $(mkinstalldirs) $(distdir)/$$dir; \
392 fi; \
393 cp -p $(srcdir)/$$i $(distdir)/$$i || exit 1; \
394 done
395 chmod -R a+r $(distdir)
397 GZIP_ENV = --best
399 dist: distdir
400 tar chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
401 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
403 distcheck: dist
404 -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
405 GZIP=$(GZIP_ENV) gzip -cd $(distdir).tar.gz | tar xf -
406 chmod -R a-w $(distdir)
407 chmod a+w $(distdir)
408 mkdir $(distdir)/=build
409 mkdir $(distdir)/=inst
410 chmod a-w $(distdir)
411 dc_instdir=`CDPATH=: && cd $(distdir)/=inst && pwd` \
412 && cd $(distdir)/=build \
413 && $(SHELL) ../configure --srcdir=.. --prefix=$$dc_instdir \
414 && $(MAKE) all dvi check install && $(MAKE) uninstall \
415 && (test `find $$dc_instdir -type f -print | wc -l` -le 1 \
416 || (echo "Error: files left after uninstall" 1>&2; \
417 exit 1)) \
418 && $(MAKE) dist && $(MAKE) distclean \
419 && rm -f $(distdir).tar.gz \
420 && (test `find . -type f -print | wc -l` -eq 0 \
421 || (echo "Error: files left after distclean" 1>&2; \
422 exit 1))
423 -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
424 @echo "$(distdir).tar.gz is ready for distribution" | \
425 sed 'h;s/./=/g;p;x;p;x'
427 check:
429 .SUFFIX:
430 .SUFFIX: .c .o .S .d
432 # Regenerate configure and Makefile automatically.
433 $(srcdir)/configure: configure.ac aclocal.m4
434 cd $(srcdir) && autoconf
436 $(srcdir)/config.h.in: stamp-h.in
437 $(srcdir)/stamp-h.in: configure.ac aclocal.m4
438 cd $(srcdir) && autoheader
439 echo timestamp > $(srcdir)/stamp-h.in
441 config.h: stamp-h
442 stamp-h: config.h.in config.status
443 $(SHELL) ./config.status
445 Makefile: Makefile.in config.status
446 $(SHELL) ./config.status
448 config.status: configure
449 $(SHELL) ./config.status --recheck
451 gensymlist.sh: gensymlist.sh.in config.status
452 $(SHELL) ./config.status
454 genkernsyms.sh: genkernsyms.sh.in config.status
455 $(SHELL) ./config.status
457 .PHONY: all install install-strip uninstall clean mostlyclean distclean
458 .PHONY: maintainer-clean info dvi dist check
460 # Prevent an overflow.
461 .NOEXPORT:
463 .DELETE_ON_ERROR: