cd $(dir $@); \
ln -sf $(dir $<)include/*.h include/; \
ln -sf $(dir $<)*.[ch] .; \
+ ln -sf $(dir $<)*.pc.in .; \
ln -sf $(dir $<)Makefile .
touch $@
endef
rm -fr grub-$(XEN_TARGET_ARCH)
rm -f $(STUBDOMPATH)
rm -f *-minios-config.mk
+ rm -fr pkg-config
[ ! -e libs-$(XEN_TARGET_ARCH)/toollog/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/toollog clean
[ ! -e libs-$(XEN_TARGET_ARCH)/evtchn/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/evtchn clean
[ ! -e libs-$(XEN_TARGET_ARCH)/gnttab/Makefile ] || $(MAKE) DESTDIR= -C libs-$(XEN_TARGET_ARCH)/gnttab clean
$(XEN_ROOT)/config/Tools.mk:
$(error You have to run ./configure before building or installing the tools)
endif
+
+$(PKG_CONFIG_DIR)/%.pc: %.pc.in Makefile
+ mkdir -p $(PKG_CONFIG_DIR)
+ @sed -e 's!@@version@@!$(PKG_CONFIG_VERSION)!g' \
+ -e 's!@@prefix@@!$(PKG_CONFIG_PREFIX)!g' \
+ -e 's!@@incdir@@!$(PKG_CONFIG_INCDIR)!g' \
+ -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' < $< > $@
+
+%.pc: %.pc.in Makefile
+ @sed -e 's!@@version@@!$(PKG_CONFIG_VERSION)!g' \
+ -e 's!@@prefix@@!$(PKG_CONFIG_PREFIX)!g' \
+ -e 's!@@incdir@@!$(PKG_CONFIG_INCDIR)!g' \
+ -e 's!@@libdir@@!$(PKG_CONFIG_LIBDIR)!g' < $< > $@
XEN_ROOT = $(CURDIR)/../..
+PKG_CONFIG_DIR = ../pkg-config
include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 4.9
$(CTRL_LIB_OBJS) $(GUEST_LIB_OBJS) \
$(CTRL_PIC_OBJS) $(GUEST_PIC_OBJS): xc_private.h
+PKG_CONFIG := xencontrol.pc
+PKG_CONFIG_VERSION := $(MAJOR).$(MINOR)
+
+ifneq ($(CONFIG_LIBXC_MINIOS),y)
+PKG_CONFIG_INST := $(PKG_CONFIG)
+$(PKG_CONFIG_INST): PKG_CONFIG_PREFIX = $(prefix)
+$(PKG_CONFIG_INST): PKG_CONFIG_INCDIR = $(includedir)
+$(PKG_CONFIG_INST): PKG_CONFIG_LIBDIR = $(libdir)
+endif
+
+PKG_CONFIG_LOCAL := $(foreach pc,$(PKG_CONFIG),$(PKG_CONFIG_DIR)/$(pc))
+
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_PREFIX = $(XEN_ROOT)
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_INCDIR = $(XEN_LIBXC)/include
+$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
+
.PHONY: all
all: build
$(MAKE) libs
.PHONY: libs
-libs: $(LIB)
+libs: $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
+ $(INSTALL_DIR) $(DESTDIR)$(PKG_INSTALLDIR)
$(INSTALL_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxenctrl.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenctrl.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.so
$(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir)
+ $(INSTALL_DATA) xencontrol.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: TAGS
TAGS:
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS) \
_paths.h \
+ xencontrol.pc \
$(CTRL_LIB_OBJS) $(CTRL_PIC_OBJS) \
$(GUEST_LIB_OBJS) $(GUEST_PIC_OBJS)