1XEN_ROOT = $(CURDIR)/../../..
2include $(XEN_ROOT)/tools/libfsimage/common.mk
3
4MAJOR := $(shell $(XEN_ROOT)/version.sh $(XEN_ROOT)/xen/Makefile)
5MINOR = 0
6
7LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
8LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
9LDFLAGS += $(LDFLAGS-y)
10
11CFLAGS += $(PTHREAD_CFLAGS)
12LDFLAGS += $(PTHREAD_LDFLAGS)
13
14LIB_SRCS-y = fsimage.c fsimage_plugin.c fsimage_grub.c
15
16TARGETS = libxenfsimage.so libxenfsimage.so.$(MAJOR) libxenfsimage.so.$(MAJOR).$(MINOR)
17
18.PHONY: all
19all: $(TARGETS)
20
21.PHONY: install
22install: all
23	$(INSTALL_DIR) $(DESTDIR)$(libdir)
24	$(INSTALL_DIR) $(DESTDIR)$(includedir)
25	$(INSTALL_PROG) libxenfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
26	ln -sf libxenfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenfsimage.so.$(MAJOR)
27	ln -sf libxenfsimage.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenfsimage.so
28	$(INSTALL_DATA) xenfsimage.h $(DESTDIR)$(includedir)
29	$(INSTALL_DATA) xenfsimage_plugin.h $(DESTDIR)$(includedir)
30	$(INSTALL_DATA) xenfsimage_grub.h $(DESTDIR)$(includedir)
31
32.PHONY: uninstall
33uninstall:
34	rm -f $(DESTDIR)$(includedir)/xenfsimage_grub.h
35	rm -f $(DESTDIR)$(includedir)/xenfsimage_plugin.h
36	rm -f $(DESTDIR)$(includedir)/xenfsimage.h
37	rm -f $(DESTDIR)$(libdir)/libxenfsimage.so
38	rm -f $(DESTDIR)$(libdir)/libxenfsimage.so.$(MAJOR)
39	rm -f $(DESTDIR)$(libdir)/libxenfsimage.so.$(MAJOR).$(MINOR)
40
41libxenfsimage.so: libxenfsimage.so.$(MAJOR)
42	ln -sf $< $@
43libxenfsimage.so.$(MAJOR): libxenfsimage.so.$(MAJOR).$(MINOR)
44	ln -sf $< $@
45
46libxenfsimage.so.$(MAJOR).$(MINOR): $(PIC_OBJS)
47	$(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenfsimage.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
48
49-include $(DEPS_INCLUDE)
50
51