diff options
Diffstat (limited to 'tools/libxl/Makefile')
-rw-r--r-- | tools/libxl/Makefile | 59 |
1 files changed, 41 insertions, 18 deletions
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 3ddcd48513..dbf8c436d1 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -8,24 +8,40 @@ include $(XEN_ROOT)/tools/Rules.mk MAJOR = 1.0 MINOR = 0 +XLUMAJOR = 1.0 +XLUMINOR = 0 + #CFLAGS += -Werror CFLAGS += -I. -fPIC CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) LIBS = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore) -#LIBCONFIG_URL ?= http://www.hyperrealm.com/libconfig -LIBCONFIG_URL = $(XEN_EXTFILES_URL) -LIBCONFIG_SOURCE = libconfig-1.3.2 -LIBCONFIG_OUTPUT = $(LIBCONFIG_SOURCE)/.libs - LIBXL_OBJS-y = osdeps.o LIBXL_OBJS = flexarray.o libxl.o libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o libxl_internal.o xenguest.o libxl_utils.o $(LIBXL_OBJS-y) +AUTOINCS= libxlu_cfg_y.h libxlu_cfg_l.h +AUTOSRCS= libxlu_cfg_y.c libxlu_cfg_l.c +LIBXLU_OBJS = libxlu_cfg_y.o libxlu_cfg_l.o libxlu_cfg.o + CLIENTS = xl .PHONY: all -all: $(CLIENTS) libxenlight.so libxenlight.a +all: $(CLIENTS) libxenlight.so libxenlight.a libxlutil.so libxlutil.a \ + $(AUTOSRCS) $(AUTOINCS) + +$(AUTOINCS): $(AUTOSRCS) + +#%_y.h: %_y.c +#%_l.h: %_l.c + +$(LIBXLU_OBJS): $(AUTOINCS) + +%.c: %.y + $(BISON) --output=$@ $< + +%.c: %.l + $(FLEX) --header-file=$*.h --outfile=$@ $< libxenlight.so: libxenlight.so.$(MAJOR) ln -sf $< $@ @@ -39,18 +55,23 @@ libxenlight.so.$(MAJOR).$(MINOR): $(LIBXL_OBJS) libxenlight.a: $(LIBXL_OBJS) $(AR) rcs libxenlight.a $^ -$(LIBCONFIG_SOURCE).tar.gz: - $(WGET) $(LIBCONFIG_URL)/$@ +libxlutil.so: libxlutil.so.$(XLUMAJOR) + ln -sf $< $@ + +libxlutil.so.$(XLUMAJOR): libxlutil.so.$(XLUMAJOR).$(XLUMINOR) + ln -sf $< $@ + +libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_CFLAGS) -o $@ $^ -$(LIBCONFIG_OUTPUT)/libconfig.so: $(LIBCONFIG_SOURCE).tar.gz - [ ! -d "$(LIBCONFIG_SOURCE)" ] && tar xzf $< - cd $(LIBCONFIG_SOURCE) && ./configure --prefix=$(PREFIX) --libdir=$(LIBDIR) --disable-cxx && $(MAKE) +libxlutil.a: $(LIBXLU_OBJS) + $(AR) rcs libxlutil.a $^ -xl.o: $(LIBCONFIG_OUTPUT)/libconfig.so xl.c - $(CC) $(CFLAGS) -I$(LIBCONFIG_SOURCE) -c xl.c +xl.o: xl.c + $(CC) $(CFLAGS) -c xl.c -$(CLIENTS): xl.o libxenlight.so $(LIBCONFIG_OUTPUT)/libconfig.so - $(CC) $(LDFLAGS) -o $@ $< $(LIBS) -L . -lxenlight -L$(LIBCONFIG_OUTPUT) -lconfig +$(CLIENTS): xl.o libxlutil.so libxenlight.so + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) .PHONY: install install: all @@ -59,15 +80,17 @@ install: all ln -sf libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenlight.so.$(MAJOR) ln -sf libxenlight.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libxenlight.so $(INSTALL_DATA) libxenlight.a $(DESTDIR)$(LIBDIR) + $(INSTALL_PROG) libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(LIBDIR) + ln -sf libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(LIBDIR)/libxlutil.so.$(XLUMAJOR) + ln -sf libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(LIBDIR)/libxlutil.so + $(INSTALL_DATA) libxlutil.a $(DESTDIR)$(LIBDIR) $(INSTALL_DATA) libxl.h $(DESTDIR)$(INCLUDEDIR) - cd $(LIBCONFIG_SOURCE) && DESTDIR=$(DESTDIR) $(MAKE) install .PHONY: clean clean: $(RM) -f *.o *.so* *.a $(CLIENTS) $(DEPS) - $(RM) -rf $(LIBCONFIG_SOURCE) + $(RM) -f $(AUTOSRCS) $(AUTOINCS) distclean: clean - $(RM) -f $(LIBCONFIG_SOURCE).tar.gz -include $(DEPS) |