Touch the libxl.api-ok stamp file, and unconditionally put in place the new _libxl.api-for-check. This avoids needlessly rerunning the preprocessor on libxl.h each time we call "make". Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that if it is asked for in a standalone make run it can find xentoollog.h. Remove *.api-ok on clean. Also fix .gitignore. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> --- .gitignore | 2 +- tools/libxl/Makefile | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 084ec62..2d56e70 100644 --- a/.gitignore +++ b/.gitignore @@ -189,7 +189,7 @@ tools/libxl/xl tools/libxl/testenum tools/libxl/testenum.c tools/libxl/tmp.* -tools/libxl/libxl.api-for-check +tools/libxl/_libxl.api-for-check tools/libaio/src/*.ol tools/libaio/src/*.os tools/misc/cpuperf/cpuperf-perfcntr diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 22c4881..a9d9ec6 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -85,7 +85,8 @@ $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h CLIENTS = xl testidl libxl-save-helper XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o -$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h +$(XL_OBJS) _libxl.api-for-check: \ + CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight) $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it. @@ -116,12 +117,13 @@ $(eval $(genpath-target)) libxl.api-ok: check-libxl-api-rules _libxl.api-for-check $(PERL) $^ + touch $@ _%.api-for-check: %.h $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \ -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \ >$@.new - $(call move-if-changed,$@.new,$@) + mv -f $@.new $@ _paths.h: genpath sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp @@ -211,7 +213,7 @@ install: all clean: $(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS) $(RM) -f _*.c *.pyc _paths.*.tmp _*.api-for-check - $(RM) -f testidl.c.new testidl.c + $(RM) -f testidl.c.new testidl.c *.api-ok distclean: clean -- tg: (f86a047..) t/xen/xl.api-check-makefile (depends on: t/xen/xl.cfg.no-final-newline-ok)
On Fri, 2012-08-31 at 15:38 +0100, Ian Jackson wrote:> Touch the libxl.api-ok stamp file, and unconditionally put in place > the new _libxl.api-for-check. This avoids needlessly rerunning the > preprocessor on libxl.h each time we call "make". > > Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that > if it is asked for in a standalone make run it can find xentoollog.h. > > Remove *.api-ok on clean. > > Also fix .gitignore. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> > > --- > .gitignore | 2 +- > tools/libxl/Makefile | 8 +++++--- > 2 files changed, 6 insertions(+), 4 deletions(-) > > diff --git a/.gitignore b/.gitignore > index 084ec62..2d56e70 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -189,7 +189,7 @@ tools/libxl/xl > tools/libxl/testenum > tools/libxl/testenum.c > tools/libxl/tmp.* > -tools/libxl/libxl.api-for-check > +tools/libxl/_libxl.api-for-check > tools/libaio/src/*.ol > tools/libaio/src/*.os > tools/misc/cpuperf/cpuperf-perfcntr > diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile > index 22c4881..a9d9ec6 100644 > --- a/tools/libxl/Makefile > +++ b/tools/libxl/Makefile > @@ -85,7 +85,8 @@ $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > CLIENTS = xl testidl libxl-save-helper > > XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o > -$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > +$(XL_OBJS) _libxl.api-for-check: \ > + CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight) > $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it. > > @@ -116,12 +117,13 @@ $(eval $(genpath-target)) > > libxl.api-ok: check-libxl-api-rules _libxl.api-for-check > $(PERL) $^ > + touch $@libxl.api-ok needs to either go in .*ignore or start with an _. Otherwise this looks good: Acked-by: Ian Campbell <ian.campbell@citrix.com>> > _%.api-for-check: %.h > $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \ > -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \ > >$@.new > - $(call move-if-changed,$@.new,$@) > + mv -f $@.new $@ > > _paths.h: genpath > sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp > @@ -211,7 +213,7 @@ install: all > clean: > $(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS) > $(RM) -f _*.c *.pyc _paths.*.tmp _*.api-for-check > - $(RM) -f testidl.c.new testidl.c > + $(RM) -f testidl.c.new testidl.c *.api-ok > > distclean: clean >
Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: fix api check
Makefile"):> On Fri, 2012-08-31 at 15:38 +0100, Ian Jackson wrote:
> > @@ -116,12 +117,13 @@ $(eval $(genpath-target))
> >  libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
> >  	$(PERL) $^
> > +	touch $@
> 
> libxl.api-ok needs to either go in .*ignore or start with an _.
Duh, don''t know how I missed that.
> Otherwise this looks good:
> Acked-by: Ian Campbell <ian.campbell@citrix.com>
From: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [PATCH v2] libxl: fix api check Makefile
Touch the libxl.api-ok stamp file, and unconditionally put in place
the new _libxl.api-for-check.  This avoids needlessly rerunning the
preprocessor on libxl.h each time we call "make".
Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that
if it is asked for in a standalone make run it can find xentoollog.h.
Remove *.api-ok on clean.
Also fix .gitignore.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
--
v2: add api-ok to gitignore
---
 .gitignore           |    3 ++-
 tools/libxl/Makefile |    8 +++++---
 2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 084ec62..776e4b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -189,7 +189,8 @@ tools/libxl/xl
 tools/libxl/testenum
 tools/libxl/testenum.c
 tools/libxl/tmp.*
-tools/libxl/libxl.api-for-check
+tools/libxl/_libxl.api-for-check
+tools/libxl/*.api-ok
 tools/libaio/src/*.ol
 tools/libaio/src/*.os
 tools/misc/cpuperf/cpuperf-perfcntr
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 22c4881..a9d9ec6 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -85,7 +85,8 @@ $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For
xentoollog.h
 CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
-$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
+$(XL_OBJS) _libxl.api-for-check: \
+            CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs
it.
 
@@ -116,12 +117,13 @@ $(eval $(genpath-target))
 
 libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
 	$(PERL) $^
+	touch $@
 
 _%.api-for-check: %.h
 	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
 		-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
 		>$@.new
-	$(call move-if-changed,$@.new,$@)
+	mv -f $@.new $@
 
 _paths.h: genpath
 	sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
@@ -211,7 +213,7 @@ install: all
 clean:
 	$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
 	$(RM) -f _*.c *.pyc _paths.*.tmp _*.api-for-check
-	$(RM) -f testidl.c.new testidl.c
+	$(RM) -f testidl.c.new testidl.c *.api-ok
 
 distclean: clean
 
-- 
tg: (f86a047..) t/xen/xl.api-check-makefile (depends on:
t/xen/xl.cfg.no-final-newline-ok)
On Fri, 2012-08-31 at 16:06 +0100, Ian Jackson wrote:> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: fix api check Makefile"): > > On Fri, 2012-08-31 at 15:38 +0100, Ian Jackson wrote: > > > @@ -116,12 +117,13 @@ $(eval $(genpath-target)) > > > libxl.api-ok: check-libxl-api-rules _libxl.api-for-check > > > $(PERL) $^ > > > + touch $@ > > > > libxl.api-ok needs to either go in .*ignore or start with an _. > > Duh, don''t know how I missed that. > > > Otherwise this looks good: > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > From: Ian Jackson <ian.jackson@eu.citrix.com> > Subject: [PATCH v2] libxl: fix api check Makefile > > Touch the libxl.api-ok stamp file, and unconditionally put in place > the new _libxl.api-for-check. This avoids needlessly rerunning the > preprocessor on libxl.h each time we call "make". > > Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that > if it is asked for in a standalone make run it can find xentoollog.h. > > Remove *.api-ok on clean. > > Also fix .gitignore. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > -- > v2: add api-ok to gitignoreNeeds to be in hgignore too. Sorry!
Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: fix api check
Makefile"):> Needs to be in hgignore too. Sorry!
I was just fixing what was in front of my nose, but fine:
Ian.
From: Ian Jackson <ian.jackson@eu.citrix.com>
Subject: [PATCH v3] libxl: fix api check Makefile
Touch the libxl.api-ok stamp file, and unconditionally put in place
the new _libxl.api-for-check.  This avoids needlessly rerunning the
preprocessor on libxl.h each time we call "make".
Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that
if it is asked for in a standalone make run it can find xentoollog.h.
Remove *.api-ok on clean.
Also fix .gitignore.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
--
v3: add api-ok to hgignore
v2: add api-ok to gitignore
---
 .gitignore           |    3 ++-
 .hgignore            |    1 +
 tools/libxl/Makefile |    8 +++++---
 3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 084ec62..776e4b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -189,7 +189,8 @@ tools/libxl/xl
 tools/libxl/testenum
 tools/libxl/testenum.c
 tools/libxl/tmp.*
-tools/libxl/libxl.api-for-check
+tools/libxl/_libxl.api-for-check
+tools/libxl/*.api-ok
 tools/libaio/src/*.ol
 tools/libaio/src/*.os
 tools/misc/cpuperf/cpuperf-perfcntr
diff --git a/.hgignore b/.hgignore
index 5ef6838..141809e 100644
--- a/.hgignore
+++ b/.hgignore
@@ -188,6 +188,7 @@
 ^tools/libxl/tmp\..*$
 ^tools/libxl/.*\.new$
 ^tools/libxl/_libxl\.api-for-check
+^tools/libxl/libxl\.api-ok
 ^tools/libvchan/vchan-node[12]$
 ^tools/libaio/src/.*\.ol$
 ^tools/libaio/src/.*\.os$
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 22c4881..a9d9ec6 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -85,7 +85,8 @@ $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For
xentoollog.h
 CLIENTS = xl testidl libxl-save-helper
 
 XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o
-$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
+$(XL_OBJS) _libxl.api-for-check: \
+            CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h
 $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight)
 $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs
it.
 
@@ -116,12 +117,13 @@ $(eval $(genpath-target))
 
 libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
 	$(PERL) $^
+	touch $@
 
 _%.api-for-check: %.h
 	$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
 		-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
 		>$@.new
-	$(call move-if-changed,$@.new,$@)
+	mv -f $@.new $@
 
 _paths.h: genpath
 	sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp
@@ -211,7 +213,7 @@ install: all
 clean:
 	$(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS)
 	$(RM) -f _*.c *.pyc _paths.*.tmp _*.api-for-check
-	$(RM) -f testidl.c.new testidl.c
+	$(RM) -f testidl.c.new testidl.c *.api-ok
 
 distclean: clean
 
-- 
tg: (f86a047..) t/xen/xl.api-check-makefile (depends on:
t/xen/xl.cfg.no-final-newline-ok)
On Fri, 2012-08-31 at 16:14 +0100, Ian Jackson wrote:> Ian Campbell writes ("Re: [Xen-devel] [PATCH] libxl: fix api check Makefile"): > > Needs to be in hgignore too. Sorry! > > I was just fixing what was in front of my nose, but fine: > > Ian. > > From: Ian Jackson <ian.jackson@eu.citrix.com> > Subject: [PATCH v3] libxl: fix api check Makefile > > Touch the libxl.api-ok stamp file, and unconditionally put in place > the new _libxl.api-for-check. This avoids needlessly rerunning the > preprocessor on libxl.h each time we call "make". > > Ensure that _libxl.api-for-check gets the CFLAGS used for xl, so that > if it is asked for in a standalone make run it can find xentoollog.h. > > Remove *.api-ok on clean. > > Also fix .gitignore. > > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>Acked-by: Ian Campbell <ian.campbell@citrix.com>> > -- > v3: add api-ok to hgignore > v2: add api-ok to gitignore > > --- > .gitignore | 3 ++- > .hgignore | 1 + > tools/libxl/Makefile | 8 +++++--- > 3 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/.gitignore b/.gitignore > index 084ec62..776e4b2 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -189,7 +189,8 @@ tools/libxl/xl > tools/libxl/testenum > tools/libxl/testenum.c > tools/libxl/tmp.* > -tools/libxl/libxl.api-for-check > +tools/libxl/_libxl.api-for-check > +tools/libxl/*.api-ok > tools/libaio/src/*.ol > tools/libaio/src/*.os > tools/misc/cpuperf/cpuperf-perfcntr > diff --git a/.hgignore b/.hgignore > index 5ef6838..141809e 100644 > --- a/.hgignore > +++ b/.hgignore > @@ -188,6 +188,7 @@ > ^tools/libxl/tmp\..*$ > ^tools/libxl/.*\.new$ > ^tools/libxl/_libxl\.api-for-check > +^tools/libxl/libxl\.api-ok > ^tools/libvchan/vchan-node[12]$ > ^tools/libaio/src/.*\.ol$ > ^tools/libaio/src/.*\.os$ > diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile > index 22c4881..a9d9ec6 100644 > --- a/tools/libxl/Makefile > +++ b/tools/libxl/Makefile > @@ -85,7 +85,8 @@ $(LIBXLU_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > CLIENTS = xl testidl libxl-save-helper > > XL_OBJS = xl.o xl_cmdimpl.o xl_cmdtable.o xl_sxp.o > -$(XL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > +$(XL_OBJS) _libxl.api-for-check: \ > + CFLAGS += $(CFLAGS_libxenctrl) # For xentoollog.h > $(XL_OBJS): CFLAGS += $(CFLAGS_libxenlight) > $(XL_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h # libxl_json.h needs it. > > @@ -116,12 +117,13 @@ $(eval $(genpath-target)) > > libxl.api-ok: check-libxl-api-rules _libxl.api-for-check > $(PERL) $^ > + touch $@ > > _%.api-for-check: %.h > $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \ > -DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \ > >$@.new > - $(call move-if-changed,$@.new,$@) > + mv -f $@.new $@ > > _paths.h: genpath > sed -e "s/\([^=]*\)=\(.*\)/#define \1 \2/g" $@.tmp >$@.2.tmp > @@ -211,7 +213,7 @@ install: all > clean: > $(RM) -f _*.h *.o *.so* *.a $(CLIENTS) $(DEPS) > $(RM) -f _*.c *.pyc _paths.*.tmp _*.api-for-check > - $(RM) -f testidl.c.new testidl.c > + $(RM) -f testidl.c.new testidl.c *.api-ok > > distclean: clean >