include ./base.mk
XSEG_CLEAN_TARGETS=$(patsubst %,clean-%,$(XSEG_DOMAIN_TARGETS))
+XSEG_INSTALL_TARGETS=$(patsubst %,install-%,$(XSEG_DOMAIN_TARGETS))
default: targets
clean: $(XSEG_CLEAN_TARGETS)
+install: install-src $(XSEG_INSTALL_TARGETS)
+
+install-src:
+ mkdir -p $(DESTDIR)$(srcdir)
+ cp -r * $(DESTDIR)$(srcdir)
+
.PHONY: $(XSEG_DOMAIN_TARGETS)
$(XSEG_DOMAIN_TARGETS):
@for f in $(XSEG_DOMAIN_DIRS); do \
done
@echo " "
+.PHONY: $(XSEG_INSTALL_TARGETS)
+$(XSEG_INSTALL_TARGETS):
+ @for f in $(XSEG_DOMAIN_DIRS); do \
+ echo " "; \
+ echo "=== $@ in $$f ==="; \
+ echo " "; \
+ make -C $$f/$(@:install-%=%) TARGET=$@ install || true; \
+ echo " "; \
+ done
+ @echo " "
+
.PHONY: $(XSEG_CLEAN_TARGETS)
$(XSEG_CLEAN_TARGETS):
@for f in $(XSEG_DOMAIN_DIRS); do \
export CSTD=-std=gnu99 -pedantic
endif
+bindir="/usr/bin/"
+libdir="/usr/lib/"
+pythondir="/usr/lib/python2.7/"
+moduledir="/lib/modules/`uname -r`/extra/"
+srcdir="/usr/src/archipelago-kernel-dkms-VERSION/"
+
INC=-I$(BASE)
INC+=-I$(BASE)/peers/$(TARGET)
INC+=-I$(BASE)/sys/$(TARGET)
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) V=$(V) modules
cp -vaf xseg_pthread.ko xseg_segdev.ko xseg_posix.ko $(LIBDIR)
+install:
+ mkdir -p $(DESTDIR)$(moduledir)
+ cp xseg_segdev.ko $(DESTDIR)$(moduledir)
+ cp xseg_posix.ko $(DESTDIR)$(moduledir)
+ cp xseg_pthread.ko $(DESTDIR)$(moduledir)
+
clean:
rm -f Module.symvers
make -C /lib/modules/$(KVER)/build M=$(PWD) V=$(V) clean
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) V=$(V) modules
cp -vaf xsegbd.ko $(LIBDIR)
+install:
+ mkdir -p $(DESTDIR)$(moduledir)
+ cp xsegbd.ko $(DESTDIR)$(moduledir)
+
clean:
rm -f Module.symvers
make -C /lib/modules/$(KVER)/build M=$(PWD) V=$(V) clean
# or implied, of GRNET S.A.
#
-.PHONY: default all clean
+.PHONY: default all clean install
include $(XSEG_HOME)/base.mk
+PEERS := xseg mt-sosd dummy mt-mapperd pfiled vlmc-xseg st-vlmcd mt-pfiled
-default: all
+default: $(PEERS)
#all: filed xseg sosd vlmcd mapperd
#all: filed xseg vlmcd mapperd
vlmc-xseg: vlmc-tool.c $(BASE)/xseg/xseg.h
$(CC) $(CFLAGS) -o $@ $< $(INC) -L$(LIB) -lxseg
+install:
+ mkdir -p $(DESTDIR)$(bindir)
+ @for p in $(PEERS); do\
+ echo "cp $$p $(DESTDIR)$(bindir)" ; \
+ cp $$p $(DESTDIR)$(bindir) ; \
+ done
+
clean:
rm -f filed xseg sosd vlmcd mapperd mt-sosd dummy monitor mt-mapperd \
pfiled vlmc-xseg st-vlmcd mt-vlmcd mt-pfiled
xseg.k.c: $(BASE)/xseg/xseg.c $(BASE)/xseg/xseg.h
ln -sf $< $@
+install:
+ mkdir -p $(DESTDIR)$(moduledir)
+ cp xseg.ko $(DESTDIR)$(moduledir)
+ cp segdev.ko $(DESTDIR)$(moduledir)
+
clean:
rm -f xq.k.c xpool.k.c xhash.k.c xheap.k.c xobj.k.c xseg.k.c
make -C /lib/modules/$(KVER)/build M=$(PWD) V=$(V) clean
# or implied, of GRNET S.A.
#
-.PHONY: default all clean drivers
+.PHONY: default all clean drivers install
include $(XSEG_HOME)/base.mk
$(AR) r libxseg.a xseg.o xq/xq.o _initialize.o $(DRVOBJS)
cp -vaf $@ $(LIB)
+install:
+ mkdir -p $(DESTDIR)$(libdir)
+ cp -vaf libxseg.so $(DESTDIR)$(libdir)
+ cp -vaf libxseg.so.$(MAJOR) $(DESTDIR)$(libdir)
+ cp -vaf libxseg.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
+
clean:
make -C xq clean
make -C xpool clean
# or implied, of GRNET S.A.
#
-.PHONY: default all clean
+.PHONY: default all clean install
include $(XSEG_HOME)/base.mk
xseg/xprotocol.py: xprotocol.xml
$(XML2PY) -d -k defst -c $< -o $@
+install:
+ mkdir p $(DESTDIR)$(pythondir)
+ cp -r xseg $(DESTDIR)$(pythondir)
+
clean:
rm -f xseg.xml xprotocol.xml xseg/xseg_api.py xseg/xseg_api.pyc xseg/xprotocol.py xseg/xprotocol.pyc xseg/__init__.pyc