aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Jackson <Ian.Jackson@eu.citrix.com>2012-09-03 11:22:01 +0100
committerIan Jackson <Ian.Jackson@eu.citrix.com>2012-09-03 11:22:01 +0100
commitd5047e1a1ce16d9d00d485c563c08e6662a91fb4 (patch)
tree2ba8c1cb9c8efa3ed062d14686eef51a57e69b83
parentd0a6bfdbf8a3f11e807624c6ff7b93f1f7b25a56 (diff)
downloadxen-d5047e1a1ce16d9d00d485c563c08e6662a91fb4.tar.gz
xen-d5047e1a1ce16d9d00d485c563c08e6662a91fb4.tar.bz2
xen-d5047e1a1ce16d9d00d485c563c08e6662a91fb4.zip
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> Committed-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--.gitignore3
-rw-r--r--.hgignore1
-rw-r--r--tools/libxl/Makefile8
3 files changed, 8 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 084ec6216e..776e4b2172 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 5ef6838db6..141809ee32 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 22c48816d7..a9d9ec604d 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