tools/libs: put common Makefile parts into new libs.mk

The Makefile below tools/libs have a lot in common. Put those common
parts into a new libs.mk and include that from the specific Makefiles.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wl@xen.org>
This commit is contained in:
Juergen Gross authored and Andrew Cooper committed 2019-09-17 17:21:25 +01:00
1 parent 79f9ba7838
commit 56dccee3f4
8 files changed
+114 -582

No files matched your search

+3 -83
View File
@@ -3,11 +3,8 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 2
SHLIB_LDFLAGS += -Wl,--version-script=libxencall.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
LIBNAME := call
USELIBS := toollog toolcore
SRCS-y += core.c buffer.c
SRCS-$(CONFIG_Linux) += linux.c
@@ -16,84 +13,7 @@ SRCS-$(CONFIG_SunOS) += solaris.c
SRCS-$(CONFIG_NetBSD) += netbsd.c
SRCS-$(CONFIG_MiniOS) += minios.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxencall.a
ifneq ($(nosharedlibs),y)
LIB += libxencall.so
endif
PKG_CONFIG := xencall.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_LIBXENCALL)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxencall.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxencall.so: libxencall.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxencall.so.$(MAJOR): libxencall.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxencall.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxencall.map
$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxencall.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxencall.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxencall.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxencall.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxencall.so.$(MAJOR)
$(SYMLINK_SHLIB) libxencall.so.$(MAJOR) $(DESTDIR)$(libdir)/libxencall.so
$(INSTALL_DATA) include/xencall.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xencall.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xencall.pc
rm -f $(DESTDIR)$(includedir)/xencall.h
rm -f $(DESTDIR)$(libdir)/libxencall.so
rm -f $(DESTDIR)$(libdir)/libxencall.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxencall.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxencall.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxencall.so.$(MAJOR).$(MINOR) libxencall.so.$(MAJOR)
rm -f headers.chk
rm -f xencall.pc
.PHONY: distclean
distclean: clean
+3 -85
View File
@@ -3,13 +3,8 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 3
SHLIB_LDFLAGS += -Wl,--version-script=libxendevicemodel.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(CFLAGS_libxentoollog)
CFLAGS += $(CFLAGS_libxentoolcore)
CFLAGS += $(CFLAGS_libxencall)
LIBNAME := devicemodel
USELIBS := toollog toolcore call
SRCS-y += core.c
SRCS-$(CONFIG_Linux) += linux.c
@@ -18,84 +13,7 @@ SRCS-$(CONFIG_SunOS) += compat.c
SRCS-$(CONFIG_NetBSD) += compat.c
SRCS-$(CONFIG_MiniOS) += compat.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxendevicemodel.a
ifneq ($(nosharedlibs),y)
LIB += libxendevicemodel.so
endif
PKG_CONFIG := xendevicemodel.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_LIBXENDEVICEMODEL)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxendevicemodel.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxendevicemodel.so: libxendevicemodel.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxendevicemodel.so.$(MAJOR): libxendevicemodel.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxendevicemodel.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxendevicemodel.map
$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxendevicemodel.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxencall) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxendevicemodel.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxendevicemodel.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxendevicemodel.so.$(MAJOR)
$(SYMLINK_SHLIB) libxendevicemodel.so.$(MAJOR) $(DESTDIR)$(libdir)/libxendevicemodel.so
$(INSTALL_DATA) include/xendevicemodel.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xendevicemodel.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xendevicemodel.pc
rm -f $(DESTDIR)$(includedir)/xendevicemodel.h
rm -f $(DESTDIR)$(libdir)/libxendevicemodel.so
rm -f $(DESTDIR)$(libdir)/libxendevicemodel.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxendevicemodel.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxendevicemodel.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxendevicemodel.so.$(MAJOR).$(MINOR) libxendevicemodel.so.$(MAJOR)
rm -f headers.chk
rm -f xendevicemodel.pc
.PHONY: distclean
distclean: clean
+3 -83
View File
@@ -3,11 +3,8 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 1
SHLIB_LDFLAGS += -Wl,--version-script=libxenevtchn.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
LIBNAME := evtchn
USELIBS := toollog toolcore
SRCS-y += core.c
SRCS-$(CONFIG_Linux) += linux.c
@@ -16,83 +13,6 @@ SRCS-$(CONFIG_SunOS) += solaris.c
SRCS-$(CONFIG_NetBSD) += netbsd.c
SRCS-$(CONFIG_MiniOS) += minios.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxenevtchn.a
ifneq ($(nosharedlibs),y)
LIB += libxenevtchn.so
endif
PKG_CONFIG := xenevtchn.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_LIBXENEVTCHN)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxenevtchn.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxenevtchn.so: libxenevtchn.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxenevtchn.so.$(MAJOR): libxenevtchn.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxenevtchn.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxenevtchn.map
$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenevtchn.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxenevtchn.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxenevtchn.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxenevtchn.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenevtchn.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenevtchn.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenevtchn.so
$(INSTALL_DATA) include/xenevtchn.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xenevtchn.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xenevtchn.pc
rm -f $(DESTDIR)$(includedir)/xenevtchn.h
rm -f $(DESTDIR)$(libdir)/libxenevtchn.so
rm -f $(DESTDIR)$(libdir)/libxenevtchn.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxenevtchn.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxenevtchn.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxenevtchn.so.$(MAJOR).$(MINOR) libxenevtchn.so.$(MAJOR)
rm -f headers.chk
rm -f xenevtchn.pc
.PHONY: distclean
distclean: clean
+3 -83
View File
@@ -3,11 +3,8 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 3
SHLIB_LDFLAGS += -Wl,--version-script=libxenforeignmemory.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
LIBNAME := foreignmemory
USELIBS := toollog toolcore
SRCS-y += core.c
SRCS-$(CONFIG_Linux) += linux.c
@@ -16,84 +13,7 @@ SRCS-$(CONFIG_SunOS) += compat.c solaris.c
SRCS-$(CONFIG_NetBSD) += compat.c netbsd.c
SRCS-$(CONFIG_MiniOS) += minios.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxenforeignmemory.a
ifneq ($(nosharedlibs),y)
LIB += libxenforeignmemory.so
endif
PKG_CONFIG := xenforeignmemory.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_LIBXENFOREIGNMEMORY)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxenforeignmemory.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxenforeignmemory.so: libxenforeignmemory.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxenforeignmemory.so.$(MAJOR): libxenforeignmemory.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxenforeignmemory.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxenforeignmemory.map
$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenforeignmemory.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxenforeignmemory.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxenforeignmemory.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxenforeignmemory.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenforeignmemory.so.$(MAJOR)
$(SYMLINK_SHLIB) libxenforeignmemory.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenforeignmemory.so
$(INSTALL_DATA) include/xenforeignmemory.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xenforeignmemory.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xenforeignmemory.pc
rm -f $(DESTDIR)$(includedir)/xenforeignmemory.h
rm -f $(DESTDIR)$(libdir)/libxenforeignmemory.so
rm -f $(DESTDIR)$(libdir)/libxenforeignmemory.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxenforeignmemory.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxenforeignmemory.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxenforeignmemory.so.$(MAJOR).$(MINOR) libxenforeignmemory.so.$(MAJOR)
rm -f headers.chk
rm -f xenforeignmemory.pc
.PHONY: distclean
distclean: clean
+3 -83
View File
@@ -3,11 +3,8 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 2
SHLIB_LDFLAGS += -Wl,--version-script=libxengnttab.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(CFLAGS_libxentoollog) $(CFLAGS_libxentoolcore)
LIBNAME := gnttab
USELIBS := toollog toolcore
SRCS-GNTTAB += gnttab_core.c
SRCS-GNTSHR += gntshr_core.c
@@ -18,84 +15,7 @@ SRCS-$(CONFIG_FreeBSD) += $(SRCS-GNTTAB) $(SRCS-GNTSHR) freebsd.c
SRCS-$(CONFIG_SunOS) += gnttab_unimp.c gntshr_unimp.c
SRCS-$(CONFIG_NetBSD) += gnttab_unimp.c gntshr_unimp.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxengnttab.a
ifneq ($(nosharedlibs),y)
LIB += libxengnttab.so
endif
PKG_CONFIG := xengnttab.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_LIBXENGNTTAB)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
$(PKG_CONFIG_LOCAL): PKG_CONFIG_CFLAGS_LOCAL = $(CFLAGS_xeninclude)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxengnttab.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxengnttab.so: libxengnttab.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxengnttab.so.$(MAJOR): libxengnttab.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxengnttab.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxengnttab.map
$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxengnttab.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDLIBS_libxentoollog) $(LDLIBS_libxentoolcore) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxengnttab.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxengnttab.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxengnttab.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxengnttab.so.$(MAJOR)
$(SYMLINK_SHLIB) libxengnttab.so.$(MAJOR) $(DESTDIR)$(libdir)/libxengnttab.so
$(INSTALL_DATA) include/xengnttab.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xengnttab.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xengnttab.pc
rm -f $(DESTDIR)$(includedir)/xengnttab.h
rm -f $(DESTDIR)$(libdir)/libxengnttab.so
rm -f $(DESTDIR)$(libdir)/libxengnttab.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxengnttab.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxengnttab.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxengnttab.so.$(MAJOR).$(MINOR) libxengnttab.so.$(MAJOR)
rm -f headers.chk
rm -f xengnttab.pc
.PHONY: distclean
distclean: clean
+95
View File
@@ -0,0 +1,95 @@
# Common Makefile for building a lib.
#
# Variables taken as input:
# LIBNAME: name of lib to build, will be prepended with "libxen"
# MAJOR: major version of lib
# MINOR: minor version of lib
# USELIBS: xen libs to use (e.g. "toolcore toollog")
SHLIB_LDFLAGS += -Wl,--version-script=libxen$(LIBNAME).map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include $(CFLAGS_xeninclude)
CFLAGS += $(foreach lib, $(USELIBS), $(CFLAGS_libxen$(lib)))
LDUSELIBS = $(foreach lib, $(USELIBS), $(LDLIBS_libxen$(lib)))
LIB_OBJS := $(SRCS-y:.c=.o)
PIC_OBJS := $(SRCS-y:.c=.opic)
LIB := libxen$(LIBNAME).a
ifneq ($(nosharedlibs),y)
LIB += libxen$(LIBNAME).so
endif
PKG_CONFIG := xen$(LIBNAME).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_LIBDIR = $(CURDIR)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxen$(LIBNAME).a: $(LIB_OBJS)
$(AR) rc $@ $^
libxen$(LIBNAME).so: libxen$(LIBNAME).so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxen$(LIBNAME).so.$(MAJOR): libxen$(LIBNAME).so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxen$(LIBNAME).so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxen$(LIBNAME).map
$(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxen$(LIBNAME).so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(LDUSELIBS) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxen$(LIBNAME).so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxen$(LIBNAME).a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxen$(LIBNAME).so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxen$(LIBNAME).so.$(MAJOR)
$(SYMLINK_SHLIB) libxen$(LIBNAME).so.$(MAJOR) $(DESTDIR)$(libdir)/libxen$(LIBNAME).so
$(INSTALL_DATA) include/xen$(LIBNAME).h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xen$(LIBNAME).pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uninstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xen$(LIBNAME).pc
rm -f $(DESTDIR)$(includedir)/xen$(LIBNAME).h
rm -f $(DESTDIR)$(libdir)/libxen$(LIBNAME).so
rm -f $(DESTDIR)$(libdir)/libxen$(LIBNAME).so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxen$(LIBNAME).so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxen$(LIBNAME).a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxen$(LIBNAME).so.$(MAJOR).$(MINOR) libxen$(LIBNAME).so.$(MAJOR)
rm -f headers.chk
rm -f xen$(LIBNAME).pc
.PHONY: distclean
distclean: clean
+2 -83
View File
@@ -3,100 +3,19 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 0
SHLIB_LDFLAGS += -Wl,--version-script=libxentoolcore.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include
CFLAGS += $(CFLAGS_xeninclude)
LIBNAME := toolcore
SRCS-y += handlereg.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxentoolcore.a
ifneq ($(nosharedlibs),y)
LIB += libxentoolcore.so
endif
PKG_CONFIG := xentoolcore.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_LIBXENTOOLCORE)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
AUTOINCS=include/_xentoolcore_list.h
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
$(LIB_OBJS): $(AUTOINCS)
$(PIC_OBJS): $(AUTOINCS)
headers.chk: $(wildcard include/*.h) $(AUTOINCS)
include/_xentoolcore_list.h: $(XEN_INCLUDE)/xen-external/bsd-sys-queue-h-seddery $(XEN_INCLUDE)/xen-external/bsd-sys-queue.h
$(PERL) $^ --prefix=xentoolcore >$@.new
$(call move-if-changed,$@.new,$@)
libxentoolcore.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxentoolcore.so: libxentoolcore.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxentoolcore.so.$(MAJOR): libxentoolcore.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxentoolcore.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxentoolcore.map
$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxentoolcore.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxentoolcore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxentoolcore.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxentoolcore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxentoolcore.so.$(MAJOR)
$(SYMLINK_SHLIB) libxentoolcore.so.$(MAJOR) $(DESTDIR)$(libdir)/libxentoolcore.so
$(INSTALL_DATA) include/xentoolcore.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xentoolcore.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uinstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xentoolcore.pc
rm -f $(DESTDIR)$(includedir)/xentoolcore.h
rm -f $(DESTDIR)$(libdir)/libxentoolcore.so
rm -f $(DESTDIR)$(libdir)/libxentoolcore.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxentoolcore.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxentoolcore.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxentoolcore.so.$(MAJOR).$(MINOR) libxentoolcore.so.$(MAJOR)
rm -f headers.chk
rm -f xentoolcore.pc
.PHONY: distclean
distclean: clean
+2 -82
View File
@@ -3,91 +3,11 @@ include $(XEN_ROOT)/tools/Rules.mk
MAJOR = 1
MINOR = 0
SHLIB_LDFLAGS += -Wl,--version-script=libxentoollog.map
CFLAGS += -Werror -Wmissing-prototypes
CFLAGS += -I./include
LIBNAME := toollog
SRCS-y += xtl_core.c
SRCS-y += xtl_logger_stdio.c
LIB_OBJS := $(patsubst %.c,%.o,$(SRCS-y))
PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS-y))
include $(XEN_ROOT)/tools/libs/libs.mk
LIB := libxentoollog.a
ifneq ($(nosharedlibs),y)
LIB += libxentoollog.so
endif
PKG_CONFIG := xentoollog.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_LIBXENTOOLLOG)/include
$(PKG_CONFIG_LOCAL): PKG_CONFIG_LIBDIR = $(CURDIR)
.PHONY: all
all: build
.PHONY: build
build:
$(MAKE) libs
.PHONY: libs
libs: headers.chk $(LIB) $(PKG_CONFIG_INST) $(PKG_CONFIG_LOCAL)
headers.chk: $(wildcard include/*.h)
libxentoollog.a: $(LIB_OBJS)
$(AR) rc $@ $^
libxentoollog.so: libxentoollog.so.$(MAJOR)
$(SYMLINK_SHLIB) $< $@
libxentoollog.so.$(MAJOR): libxentoollog.so.$(MAJOR).$(MINOR)
$(SYMLINK_SHLIB) $< $@
libxentoollog.so.$(MAJOR).$(MINOR): $(PIC_OBJS) libxentoollog.map
$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxentoollog.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(PIC_OBJS) $(APPEND_LDFLAGS)
.PHONY: install
install: build
$(INSTALL_DIR) $(DESTDIR)$(libdir)
$(INSTALL_DIR) $(DESTDIR)$(includedir)
$(INSTALL_SHLIB) libxentoollog.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
$(INSTALL_DATA) libxentoollog.a $(DESTDIR)$(libdir)
$(SYMLINK_SHLIB) libxentoollog.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxentoollog.so.$(MAJOR)
$(SYMLINK_SHLIB) libxentoollog.so.$(MAJOR) $(DESTDIR)$(libdir)/libxentoollog.so
$(INSTALL_DATA) include/xentoollog.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) xentoollog.pc $(DESTDIR)$(PKG_INSTALLDIR)
.PHONY: uinstall
uninstall:
rm -f $(DESTDIR)$(PKG_INSTALLDIR)/xentoollog.pc
rm -f $(DESTDIR)$(includedir)/xentoollog.h
rm -f $(DESTDIR)$(libdir)/libxentoollog.so
rm -f $(DESTDIR)$(libdir)/libxentoollog.so.$(MAJOR)
rm -f $(DESTDIR)$(libdir)/libxentoollog.so.$(MAJOR).$(MINOR)
rm -f $(DESTDIR)$(libdir)/libxentoollog.a
.PHONY: TAGS
TAGS:
etags -t *.c *.h
.PHONY: clean
clean:
rm -rf *.rpm $(LIB) *~ $(DEPS_RM) $(LIB_OBJS) $(PIC_OBJS)
rm -f libxentoollog.so.$(MAJOR).$(MINOR) libxentoollog.so.$(MAJOR)
rm -f headers.chk
rm -f xentoollog.pc
.PHONY: distclean
distclean: clean
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.