cloudstack/tools/vhd-tools/vhd/lib/Makefile

76 lines
2.0 KiB
Makefile

XEN_ROOT=../../../..
BLKTAP_ROOT := ../..
include $(XEN_ROOT)/tools/Rules.mk
LIBVHD-MAJOR = 1.0
LIBVHD-MINOR = 0
LIBVHD-SONAME = libvhd.so.$(LIBVHD-MAJOR)
LVM-UTIL-OBJ := $(BLKTAP_ROOT)/lvm/lvm-util.o
LIBVHD-BUILD := libvhd.a
INST-DIR = $(LIBDIR)
CFLAGS += -Werror
CFLAGS += -Wno-unused
CFLAGS += -I../../include
CFLAGS += -D_GNU_SOURCE
CFLAGS += -fPIC
CFLAGS += -g
ifeq ($(CONFIG_Linux),y)
LIBS := -luuid
endif
# Get gcc to generate the dependencies for us.
CFLAGS += -Wp,-MD,.$(@F).d
DEPS = .*.d
LIB-SRCS := libvhd.c
LIB-SRCS += libvhd-journal.c
LIB-SRCS += vhd-util-coalesce.c
LIB-SRCS += vhd-util-create.c
LIB-SRCS += vhd-util-fill.c
LIB-SRCS += vhd-util-modify.c
LIB-SRCS += vhd-util-query.c
LIB-SRCS += vhd-util-read.c
LIB-SRCS += vhd-util-repair.c
LIB-SRCS += vhd-util-resize.c
LIB-SRCS += vhd-util-revert.c
LIB-SRCS += vhd-util-set-field.c
LIB-SRCS += vhd-util-snapshot.c
LIB-SRCS += vhd-util-scan.c
LIB-SRCS += vhd-util-check.c
LIB-SRCS += relative-path.c
LIB-SRCS += atomicio.c
LIB-OBJS = $(patsubst %.c,%.o,$(LIB-SRCS))
LIB-OBJS += $(LVM-UTIL-OBJ)
LIBVHD = libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
all: build
build: $(LIBVHD-BUILD)
libvhd.a: $(LIB-OBJS)
$(CC) $(CFLAGS) -Wl,$(SONAME_LDFLAG),$(LIBVHD-SONAME) $(SHLIB_CFLAGS) \
$(LDFLAGS) -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(LIBS) $^
ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) libvhd.so.$(LIBVHD-MAJOR)
ln -sf libvhd.so.$(LIBVHD-MAJOR) libvhd.so
$(AR) rc $@ $^
install: all
$(INSTALL_DIR) -p $(DESTDIR)$(INST-DIR)
$(INSTALL_DATA) $(LIBVHD) $(DESTDIR)$(INST-DIR)
ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)/libvhd.so.$(LIBVHD-MAJOR)
ln -sf libvhd.so.$(LIBVHD-MAJOR) $(DESTDIR)$(INST-DIR)/libvhd.so
clean:
rm -rf *.a *.so* *.o *~ $(DEPS) $(LIBVHD)
.PHONY: all build clean install libvhd
-include $(DEPS)