On Mon, May 2, 2016 at 5:25 PM, Jonathan Gray <j...@jsg.id.au> wrote:
> On Mon, May 02, 2016 at 11:44:35AM -0700, Jason Ekstrand wrote: > > On Mon, May 2, 2016 at 2:27 AM, Jonathan Gray <j...@jsg.id.au> wrote: > > > > > On Mon, May 02, 2016 at 02:23:46AM -0700, Jason Ekstrand wrote: > > > > On May 1, 2016 11:24 PM, "Jonathan Gray" <j...@jsg.id.au> wrote: > > > > > > > > > > % pattern rules are a GNU extension. Convert the use of one to a > > > > > suffix rule to allow this to build on OpenBSD. > > > > > > > > > > Signed-off-by: Jonathan Gray <j...@jsg.id.au> > > > > > --- > > > > > src/intel/genxml/Makefile.am | 4 +++- > > > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > > > > > diff --git a/src/intel/genxml/Makefile.am > > > b/src/intel/genxml/Makefile.am > > > > > index f493d48..ea68fb9 100644 > > > > > --- a/src/intel/genxml/Makefile.am > > > > > +++ b/src/intel/genxml/Makefile.am > > > > > @@ -28,7 +28,9 @@ BUILT_SOURCES = > > > > \ > > > > > > > > > > PYTHON3_GEN = $(AM_V_GEN)$(PYTHON3) $(PYTHON_FLAGS) > > > > > > > > > > -%_pack.h : %.xml gen_pack_header.py > > > > > +SUFFIXES = _pack.h .xml > > > > > + > > > > > +.xml_pack.h : gen_pack_header.py > > > > > $(PYTHON3_GEN) $(srcdir)/gen_pack_header.py $< > $@ > > > > > > > > We'd better also fix up all the places we include these files. :-) > > > > > > The generated filenames don't change, there is no need to: > > > > > > > I just read up on Suffix rules (didn't even know they existed). I think > > what you're doing there *mostly* works. The problem is that, according > to > > the GNU make docs ( > > https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html), > > suffix rules aren't allowed to have any additional prerequisites > declared. > > If they do, they get treated as normal non-suffix rules. How do we do > this > > as a suffix rule *and* have it depend on both genN.xml and > > gen_pack_header.py? > > --jason > > The docs on OpenBSD suggest adding another target rule for this case > which seems to work as intended here. > > see "INFERENCE RULES" in > http://man.openbsd.org/OpenBSD-current/man1/make.1 > > commit 715e29f2a1db62f69a92e742cd33fc75889367ff > Author: Jonathan Gray <j...@jsg.id.au> > Date: Mon May 2 16:14:56 2016 +1000 > > genxml: avoid using a GNU make pattern rule > > % pattern rules are a GNU extension. Convert the use of one to a > inference rule to allow this to build on OpenBSD. > > v2: inference rules can't have additional prerequisites > so add a target rule to still depend on gen_pack_header.py > > Signed-off-by: Jonathan Gray <j...@jsg.id.au> > Sorry it's taken so long but I just applied this, verified that it still works with GNU make, added my R-B and pushed it to master. Thanks! > > diff --git a/src/intel/genxml/Makefile.am b/src/intel/genxml/Makefile.am > index f493d48..0b5b3a6 100644 > --- a/src/intel/genxml/Makefile.am > +++ b/src/intel/genxml/Makefile.am > @@ -28,7 +28,11 @@ BUILT_SOURCES = > \ > > PYTHON3_GEN = $(AM_V_GEN)$(PYTHON3) $(PYTHON_FLAGS) > > -%_pack.h : %.xml gen_pack_header.py > +SUFFIXES = _pack.h .xml > + > +$(BUILT_SOURCES): gen_pack_header.py > + > +.xml_pack.h: > $(PYTHON3_GEN) $(srcdir)/gen_pack_header.py $< > $@ > > CLEANFILES = $(BUILT_SOURCES) >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev