From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1W4Ydb-0003n3-OT for mharc-grub-devel@gnu.org; Sat, 18 Jan 2014 11:20:47 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42754) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4YdU-0003lv-4n for grub-devel@gnu.org; Sat, 18 Jan 2014 11:20:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W4YdO-0002LI-TW for grub-devel@gnu.org; Sat, 18 Jan 2014 11:20:40 -0500 Received: from mail-lb0-x22e.google.com ([2a00:1450:4010:c04::22e]:58355) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W4YdO-0002L5-G3 for grub-devel@gnu.org; Sat, 18 Jan 2014 11:20:34 -0500 Received: by mail-lb0-f174.google.com with SMTP id l4so2242457lbv.33 for ; Sat, 18 Jan 2014 08:20:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=d8XDCLDb2PBGvo20zlnhSy/QCERkr6w39BJFAd4Ih48=; b=PtInlbz9jJWSxXHXEzJqa7mVot9GXZdSyvVEDDUTG3+cHqr2rVFRzUX3M9sJDZuMQc GhYEEVwVEfhdkrzYONvJgyDsuiwf8OocnNPQGO1KQnFQytDaHhPmcuwvAP+gecMfhsns qex1C5guYbV+l35zSfdB3RZASk6aslOZxkLizYgucVPUacjRNBOtROujG5N6Ush1PZkf Yoqgi896hSFX18IOHNkZPOXfCMsStg0tBwiXutxWWq/gTPCSvYsREjNOVIf2WzqG6cnT u7eJn0dxfuoAwf75GQo9LMH3XdvNSAwzDTHxJOQBg6O/D/jyiMgsP33YG9vl8ca0573l PsMw== X-Received: by 10.152.4.99 with SMTP id j3mr2015496laj.31.1390062033341; Sat, 18 Jan 2014 08:20:33 -0800 (PST) Received: from localhost.localdomain (ppp91-76-163-241.pppoe.mtu-net.ru. [91.76.163.241]) by mx.google.com with ESMTPSA id tc8sm9407484lbb.9.2014.01.18.08.20.32 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Jan 2014 08:20:32 -0800 (PST) From: Andrey Borzenkov To: grub-devel@gnu.org Subject: [PATCH] add BUILD_EXEEXT support to fix make clean on Windows Date: Sat, 18 Jan 2014 20:20:29 +0400 Message-Id: <1390062029-16117-1-git-send-email-arvidjaar@gmail.com> X-Mailer: git-send-email 1.8.4 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::22e X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Jan 2014 16:20:45 -0000 Add $(BUILD_EXEEXT) to ensure files are removed. Also add CLEANFILES where appropriate. --- Makefile.am | 16 ++++++++-------- Makefile.util.def | 2 +- configure.ac | 21 ++++++++++++++++----- grub-core/Makefile.am | 14 ++++++++------ 4 files changed, 33 insertions(+), 20 deletions(-) diff --git a/Makefile.am b/Makefile.am index 1bbec0e..aa526f5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,22 +66,22 @@ endif starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png $(srcdir)/themes/starfield/boot_menu_c.png $(srcdir)/themes/starfield/boot_menu_e.png $(srcdir)/themes/starfield/boot_menu_ne.png $(srcdir)/themes/starfield/boot_menu_n.png $(srcdir)/themes/starfield/boot_menu_nw.png $(srcdir)/themes/starfield/boot_menu_se.png $(srcdir)/themes/starfield/boot_menu_s.png $(srcdir)/themes/starfield/boot_menu_sw.png $(srcdir)/themes/starfield/boot_menu_w.png $(srcdir)/themes/starfield/slider_c.png $(srcdir)/themes/starfield/slider_n.png $(srcdir)/themes/starfield/slider_s.png $(srcdir)/themes/starfield/starfield.png $(srcdir)/themes/starfield/terminal_box_c.png $(srcdir)/themes/starfield/terminal_box_e.png $(srcdir)/themes/starfield/terminal_box_ne.png $(srcdir)/themes/starfield/terminal_box_n.png $(srcdir)/themes/starfield/terminal_box_nw.png $(srcdir)/themes/starfield/terminal_box_se.png $(srcdir)/themes/starfield/terminal_box_s.png $(srcdir)/themes/starfield/terminal_box_sw.png $(srcdir)/themes/starfield/terminal_box_w.png $(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README $(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0 -build-grub-mkfont: util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c +build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(build_freetype_cflags) $(build_freetype_libs) -CLEANFILES += build-grub-mkfont +CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT) -garbage-gen: util/garbage-gen.c +garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $^ -CLEANFILES += garbage-gen +CLEANFILES += garbage-gen$(BUILD_EXEEXT) EXTRA_DIST += util/garbage-gen.c -build-grub-gen-asciih: util/grub-gen-asciih.c +build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror -CLEANFILES += build-grub-gen-asciih +CLEANFILES += build-grub-gen-asciih$(BUILD_EXEEXT) -build-grub-gen-widthspec: util/grub-gen-widthspec.c +build-grub-gen-widthspec$(BUILD_EXEEXT): util/grub-gen-widthspec.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror -CLEANFILES += build-grub-gen-widthspec +CLEANFILES += build-grub-gen-widthspec$(BUILD_EXEEXT) if COND_STARFIELD starfield_DATA = dejavu_10.pf2 dejavu_12.pf2 dejavu_bold_14.pf2 dejavu_14.pf2 dejavu_16.pf2 $(starfield_theme_files) diff --git a/Makefile.util.def b/Makefile.util.def index 3c99be2..83df212 100644 --- a/Makefile.util.def +++ b/Makefile.util.def @@ -708,7 +708,7 @@ script = { name = grub-fs-tester; common = tests/util/grub-fs-tester.in; installdir = noinst; - dependencies = garbage-gen; + dependencies = 'garbage-gen$(BUILD_EXEEXT)'; }; script = { diff --git a/configure.ac b/configure.ac index 2e4cf3c..cf3de3b 100644 --- a/configure.ac +++ b/configure.ac @@ -38,7 +38,8 @@ AC_CONFIG_AUX_DIR([build-aux]) # We don't want -g -O2 by default in CFLAGS : ${CFLAGS=""} -# Checks for host and target systems. +# Checks for build, host and target systems. +AC_CANONICAL_BUILD AC_CANONICAL_HOST save_program_prefix="${program_prefix}" AC_CANONICAL_TARGET @@ -422,6 +423,16 @@ case "$build_os" in haiku*) BUILD_LIBM= ;; *) BUILD_LIBM=-lm ;; esac + +dnl FIXME proper test seems to require too deep dive into Autoconf internals. +dnl For now just list known platforms that we support. + +case "$build_os" in + cygwin*|mingw32*|mingw64*) BUILD_EXEEXT=.exe ;; + *) BUILD_EXEEXT= ;; +esac +AC_SUBST(BUILD_EXEEXT) + # For gnulib. gl_INIT @@ -765,11 +776,11 @@ if test x"$platform" = xemu ; then *windows* | *cygwin* | *mingw*) if test x${target_cpu} = xi386 ; then grub_cv_target_cc_link_format=-mi386pe; - TARGET_OBJ2ELF='./build-grub-pe2elf'; + TARGET_OBJ2ELF='./build-grub-pe2elf$(BUILD_EXEEXT)'; fi if test x${target_cpu} = xx86_64 ; then grub_cv_target_cc_link_format=-mi386pep; - TARGET_OBJ2ELF='./build-grub-pep2elf'; + TARGET_OBJ2ELF='./build-grub-pep2elf$(BUILD_EXEEXT)'; fi TARGET_LDFLAGS="$TARGET_LDFLAGS -Wl,$grub_cv_target_cc_link_format" ;; @@ -803,10 +814,10 @@ elif test x"$target_cpu" = xi386 || test x"$target_cpu" = xx86_64; then fi TARGET_LDFLAGS="$TARGET_LDFLAGS -Wl,$grub_cv_target_cc_link_format" if test x"$grub_cv_target_cc_link_format" = x-mi386pe ; then - TARGET_OBJ2ELF='./build-grub-pe2elf'; + TARGET_OBJ2ELF='./build-grub-pe2elf$(BUILD_EXEEXT)'; fi if test x"$grub_cv_target_cc_link_format" = x-mi386pep ; then - TARGET_OBJ2ELF='./build-grub-pep2elf'; + TARGET_OBJ2ELF='./build-grub-pep2elf$(BUILD_EXEEXT)'; fi fi diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am index 13b7979..826b3dd 100644 --- a/grub-core/Makefile.am +++ b/grub-core/Makefile.am @@ -26,20 +26,22 @@ CFLAGS_LIBRARY += $(CFLAGS_PLATFORM) -fno-builtin CPPFLAGS_LIBRARY += $(CPPFLAGS_PLATFORM) CCASFLAGS_LIBRARY += $(CCASFLAGS_PLATFORM) -build-grub-pep2elf: $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c +build-grub-pep2elf$(BUILD_EXEEXT): $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=64 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pep2elf\" $^ +CLEANFILES += build-grub-pep2elf$(BUILD_EXEEXT) -build-grub-pe2elf: $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c +build-grub-pe2elf$(BUILD_EXEEXT): $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_BUILD=1 -DGRUB_TARGET_WORDSIZE=32 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pe2elf\" $^ +CLEANFILES += build-grub-pe2elf$(BUILD_EXEEXT) # gentrigtables -gentrigtables: gentrigtables.c +gentrigtables$(BUILD_EXEEXT): gentrigtables.c $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $< $(BUILD_LIBM) -CLEANFILES += gentrigtables +CLEANFILES += gentrigtables$(BUILD_EXEEXT) # trigtables.c -trigtables.c: gentrigtables gentrigtables.c $(top_srcdir)/configure.ac - ./gentrigtables > $@ +trigtables.c: gentrigtables$(BUILD_EXEEXT) gentrigtables.c $(top_srcdir)/configure.ac + ./gentrigtables$(BUILD_EXEEXT) > $@ CLEANFILES += trigtables.c # XXX Use Automake's LEX & YACC support -- tg: (5ef569d..) u/mingw/exeext (depends on: master)