From patchwork Fri May 7 14:38:16 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Isaku Yamahata X-Patchwork-Id: 51920 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 57CB9B7D71 for ; Sat, 8 May 2010 00:44:00 +1000 (EST) Received: from localhost ([127.0.0.1]:52241 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OAOmT-0003ku-5k for incoming@patchwork.ozlabs.org; Fri, 07 May 2010 10:43:57 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OAOk7-0001yo-2v for qemu-devel@nongnu.org; Fri, 07 May 2010 10:41:31 -0400 Received: from [140.186.70.92] (port=55575 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OAOk4-0001tQ-Rf for qemu-devel@nongnu.org; Fri, 07 May 2010 10:41:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OAOk2-0001Nc-9y for qemu-devel@nongnu.org; Fri, 07 May 2010 10:41:28 -0400 Received: from mail.valinux.co.jp ([210.128.90.3]:43839) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OAOk1-0001N0-IQ; Fri, 07 May 2010 10:41:26 -0400 Received: from ps.local.valinux.co.jp (vagw.valinux.co.jp [210.128.90.14]) by mail.valinux.co.jp (Postfix) with SMTP id 48D9D1070A0; Fri, 7 May 2010 23:41:21 +0900 (JST) Received: (nullmailer pid 21548 invoked by uid 1000); Fri, 07 May 2010 14:38:16 -0000 Date: Fri, 7 May 2010 23:38:16 +0900 From: Isaku Yamahata To: Gerd Hoffmann Subject: Re: [Qemu-devel] [PATCH 1/5] Makefile cleanup Message-ID: <20100507143816.GB20294@valinux.co.jp> References: <1273226987-10066-1-git-send-email-kraxel@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1273226987-10066-1-git-send-email-kraxel@redhat.com> User-Agent: Mutt/1.5.19 (2009-01-05) X-Virus-Scanned: clamav-milter 0.95.2 at va-mail.local.valinux.co.jp X-Virus-Status: Clean X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) Cc: vgabios-developers@nongnu.org, qemu-devel@nongnu.org X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Hi. If gmake extension is allowed, nasty rm in the rule can be removed by using intermediate file which is removed after build. We can combine your cleanup with mine. [PATCH] vgabios: Makefile: clean up using gmake extension. clean up nasty rule by using gmake extension Signed-off-by: Isaku Yamahata --- Makefile | 92 +++++++++++++++++++++++++++++-------------------------------- 1 files changed, 44 insertions(+), 48 deletions(-) diff --git a/Makefile b/Makefile index 00e8c66..4ead342 100644 --- a/Makefile +++ b/Makefile @@ -17,13 +17,14 @@ VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" all: bios cirrus-bios -bios: biossums vgabios.bin vgabios.debug.bin +bios: biossums VGABIOS-lgpl-latest.bin VGABIOS-lgpl-latest.debug.bin -cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin +cirrus-bios: VGABIOS-lgpl-latest.cirrus.bin VGABIOS-lgpl-latest.cirrus.debug.bin clean: /bin/rm -f biossums vbetables-gen vbetables.h *.o *.s *.ld86 \ - temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak + temp.awk.* vgabios*.orig _vgabios_* _vgabios.*_* core \ + VGABIOS-lgpl-latest*.bin vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak dist-clean: clean @@ -37,51 +38,46 @@ release: cp VGABIOS-lgpl-latest.cirrus.debug.bin ../$(RELEASE).cirrus.debug.bin tar czvf ../$(RELEASE).tgz --exclude CVS -C .. $(RELEASE)/ -vgabios.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE $(VGABIOS_DATE) > _vgabios_.c - $(BCC) -o vgabios.s -C-c -D__i86__ -S -0 _vgabios_.c - sed -e 's/^\.text//' -e 's/^\.data//' vgabios.s > _vgabios_.s - $(AS86) _vgabios_.s -b vgabios.bin -u -w- -g -0 -j -O -l vgabios.txt - rm -f _vgabios_.s _vgabios_.c vgabios.s - mv vgabios.bin VGABIOS-lgpl-latest.bin - ./biossums VGABIOS-lgpl-latest.bin - ls -l VGABIOS-lgpl-latest.bin - -vgabios.debug.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE -DDEBUG $(VGABIOS_DATE) > _vgabios-debug_.c - $(BCC) -o vgabios-debug.s -C-c -D__i86__ -S -0 _vgabios-debug_.c - sed -e 's/^\.text//' -e 's/^\.data//' vgabios-debug.s > _vgabios-debug_.s - $(AS86) _vgabios-debug_.s -b vgabios.debug.bin -u -w- -g -0 -j -O -l vgabios.debug.txt - rm -f _vgabios-debug_.s _vgabios-debug_.c vgabios-debug.s - mv vgabios.debug.bin VGABIOS-lgpl-latest.debug.bin - ./biossums VGABIOS-lgpl-latest.debug.bin - ls -l VGABIOS-lgpl-latest.debug.bin - -vgabios-cirrus.bin: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus_.c - $(BCC) -o vgabios-cirrus.s -C-c -D__i86__ -S -0 _vgabios-cirrus_.c - sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus.s > _vgabios-cirrus_.s - $(AS86) _vgabios-cirrus_.s -b vgabios-cirrus.bin -u -w- -g -0 -j -O -l vgabios.cirrus.txt - rm -f _vgabios-cirrus_.s _vgabios-cirrus_.c vgabios-cirrus.s - mv vgabios-cirrus.bin VGABIOS-lgpl-latest.cirrus.bin - ./biossums VGABIOS-lgpl-latest.cirrus.bin - ls -l VGABIOS-lgpl-latest.cirrus.bin - -vgabios-cirrus.debug.bin: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DCIRRUS_DEBUG -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus-debug_.c - $(BCC) -o vgabios-cirrus-debug.s -C-c -D__i86__ -S -0 _vgabios-cirrus-debug_.c - sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus-debug.s > _vgabios-cirrus-debug_.s - $(AS86) _vgabios-cirrus-debug_.s -b vgabios.cirrus.debug.bin -u -w- -g -0 -j -O -l vgabios.cirrus.debug.txt - rm -f _vgabios-cirrus-debug_.s _vgabios-cirrus-debug_.c vgabios-cirrus-debug.s - mv vgabios.cirrus.debug.bin VGABIOS-lgpl-latest.cirrus.debug.bin - ./biossums VGABIOS-lgpl-latest.cirrus.debug.bin - ls -l VGABIOS-lgpl-latest.cirrus.debug.bin - -biossums: biossums.c - $(CC) -o biossums biossums.c - -vbetables-gen: vbetables-gen.c - $(CC) -o vbetables-gen vbetables-gen.c +define gcc-e-p + $(GCC) -E -P $< $(VGABIOS_VERS) $(EXTRA_DEFINES) $(VGABIOS_DATE) > $@ +endef + +_vgabios_.c: EXTRA_DEFINES = -DVBE +_vgabios_.c: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h + $(gcc-e-p) + +_vgabios.debug_.c: EXTRA_DEFINES = -DVBE -DDEBUG +_vgabios.debug_.c: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h + $(gcc-e-p) + +_vgabios.cirrus_.c: EXTRA_DEFINES = -DCIRRUS -DPCIBIOS +_vgabios.cirrus_.c: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c + $(gcc-e-p) + +_vgabios.cirrus.debug_.c: EXTRA_DEFINES = -DCIRRUS -DCIRRUS_DEBUG -DPCIBIOS +_vgabios.cirrus.debug_.c: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c + $(gcc-e-p) + +.INTERMEDIATE: _vgabios_.c _vgabios.debug_.c _vgabios.cirrus_.c _vgabios.cirrus.debug_.c + + +%.s: _%_.c + $(BCC) -o $@ -C-c -D__i86__ -S -0 $< + +_%_.s: %.s + sed -e 's/^\.text//' -e 's/^\.data//' $< > $@ + +%.bin %.txt: _%_.s + $(AS86) $< -b $*.bin -u -w- -g -0 -j -O -l $*.txt + +VGABIOS-lgpl-latest%bin: vgabios%bin + mv $< $@ + ./biossums $@ + ls -l $@ + +# for biossums and vbetables-gen +%: %.c + $(CC) -o $@ $< vbetables.h: vbetables-gen ./vbetables-gen > $@