aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/Makefile
diff options
context:
space:
mode:
authorIan Jackson <Ian.Jackson@eu.citrix.com>2012-09-14 10:02:52 +0100
committerIan Jackson <Ian.Jackson@eu.citrix.com>2012-09-14 10:02:52 +0100
commit9d3a9e4d734bfe371891d1d3446c4cdaa57a45f0 (patch)
treedfc8824d537b386537cd0aff2fc71f75068456d2 /tools/libxl/Makefile
parentb59388703de27436d01ddd48ffcabc58c9f23153 (diff)
downloadxen-9d3a9e4d734bfe371891d1d3446c4cdaa57a45f0.tar.gz
xen-9d3a9e4d734bfe371891d1d3446c4cdaa57a45f0.tar.bz2
xen-9d3a9e4d734bfe371891d1d3446c4cdaa57a45f0.zip
libxl: Fix missing dependency in api check rule
Without this, the api check cpp run might happen before the various autogenerated files which are #include by libxl.h are ready. We need to remove the api-ok file from AUTOINCS to avoid a circular dependency. Instead, we list it explicitly as a dependency of the object files. The result is that the api check is the last thing to be done before make considers the preparation done and can start work on compiling .c files into .o's. Reported-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Tested-by: Olaf Hering <olaf@aepfle.de> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/Makefile')
-rw-r--r--tools/libxl/Makefile8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index a9d9ec604d..09869014d7 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -74,8 +74,7 @@ LIBXL_OBJS += _libxl_types.o libxl_flask.o _libxl_types_internal.o
$(LIBXL_OBJS): CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) $(CFLAGS_libblktapctl) -include $(XEN_ROOT)/tools/config.h
AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h _libxl_list.h _paths.h \
- _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h \
- libxl.api-ok
+ _libxl_save_msgs_callout.h _libxl_save_msgs_helper.h
AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c
AUTOSRCS += _libxl_save_msgs_callout.c _libxl_save_msgs_helper.c
LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o \
@@ -102,7 +101,8 @@ testidl.c: libxl_types.idl gentest.py libxl.h $(AUTOINCS)
all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \
$(AUTOSRCS) $(AUTOINCS)
-$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): $(AUTOINCS)
+$(LIBXL_OBJS) $(LIBXLU_OBJS) $(XL_OBJS) $(SAVE_HELPER_OBJS): \
+ $(AUTOINCS) libxl.api-ok
%.c %.h:: %.y
@rm -f $*.[ch]
@@ -119,7 +119,7 @@ libxl.api-ok: check-libxl-api-rules _libxl.api-for-check
$(PERL) $^
touch $@
-_%.api-for-check: %.h
+_%.api-for-check: %.h $(AUTOINCS)
$(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -E $< $(APPEND_CFLAGS) \
-DLIBXL_EXTERNAL_CALLERS_ONLY=LIBXL_EXTERNAL_CALLERS_ONLY \
>$@.new