Patchwork [5,of,5,evolve-ext] debian: remove .PHONY line completely

login
register
mail settings
Submitter Faheem Mitha
Date Oct. 10, 2014, 9:35 p.m.
Message ID <d1e3e1e71ab04b25cf1a.1412976959@orwell.homelinux.org>
Download mbox | patch
Permalink /patch/6188/
State Not Applicable
Headers show

Comments

Faheem Mitha - Oct. 10, 2014, 9:35 p.m.
# HG changeset patch
# User Faheem Mitha <faheem@faheem.info>
# Date 1412974641 -19800
#      Sat Oct 11 02:27:21 2014 +0530
# Branch stable
# Node ID d1e3e1e71ab04b25cf1a85d16bacda9adc8dfd03
# Parent  1a2543a3c8b2448723367aeb9da31f9b41478c15
debian: remove .PHONY line completely

This does not work in the case of implicit pattern matching rules as
used by dh. Consider this example from Geoffrey Thomas:

    $ ls -l
    total 16
    -rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 blue.c
    -rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 green.c
    -rw-r--r-- 1 faheem faheem 35 Aug 16 20:26 Makefile
    -rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 red.c

    $ cat Makefile
    %: %.c
            gcc -o $@ $<
    .PHONY: blue

    $ make red
    gcc -o red red.c

    $ make green
    gcc -o green green.c

    $ make blue
    make: Nothing to be done for blue'.

The Make manual
(http://www.gnu.org/software/make/manual/make.html#Phony-Targets) says

    Since it knows that phony targets do not name actual files that
    could be remade from other files, make skips the implicit rule
    search for phony targets (see Implicit Rules).

Thanks to the good folks on #debian-mentors on OFTC for instruction
and explanation in these matters.

Patch

diff -r 1a2543a3c8b2 -r d1e3e1e71ab0 debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -26,5 +26,3 @@ 
 	rm -rf html
 	rm -f docs/static/logo-evolve.ico
 	rm -f docs/tutorials/tutorial.rst
-
-.PHONY: build clean clean-docs