Setting tag bootmanager-5.1-5
[bootmanager.git] / Makefile
1 #
2
3 ########## sync
4 # 2 forms are supported
5 # (*) if your plc root context has direct ssh access:
6 # make sync PLC=private.one-lab.org
7 # (*) otherwise, for test deployments, use on your testmaster
8 # $ run export
9 # and cut'n paste the export lines before you run make sync
10
11 ifdef PLC
12 SSHURL:=root@$(PLC):/
13 SSHCOMMAND:=ssh root@$(PLC)
14 else
15 ifdef PLCHOSTLXC
16 SSHURL:=root@$(PLCHOSTLXC):/var/lib/lxc/$(GUESTNAME)/rootfs
17 SSHCOMMAND:=ssh root@$(PLCHOSTLXC) ssh $(GUESTHOSTNAME)
18 else
19 ifdef PLCHOSTVS
20 SSHURL:=root@$(PLCHOSTVS):/vservers/$(GUESTNAME)
21 SSHCOMMAND:=ssh root@$(PLCHOSTVS) vserver $(GUESTNAME) exec
22 endif
23 endif
24 endif
25
26 LOCAL_RSYNC_EXCLUDES    := --exclude '*.pyc' 
27 RSYNC_EXCLUDES          := --exclude .svn --exclude .git --exclude '*~' --exclude TAGS $(LOCAL_RSYNC_EXCLUDES)
28 RSYNC_COND_DRY_RUN      := $(if $(findstring n,$(MAKEFLAGS)),--dry-run,)
29 RSYNC                   := rsync -a -v $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES)
30
31 DEPLOYMENT ?= regular
32
33 sync:
34 ifeq (,$(SSHURL))
35         @echo "sync: I need more info from the command line, e.g."
36         @echo "  make sync PLC=boot.planetlab.eu"
37         @echo "  make sync PLCHOSTVS=.. GUESTNAME=.."
38         @echo "  make sync PLCHOSTLXC=.. GUESTNAME=.. GUESTHOSTNAME=.."
39         @exit 1
40 else
41         $(SSHCOMMAND) mkdir -p /usr/share/bootmanager/$(DEPLOYMENT)
42         +$(RSYNC) build.sh source $(SSHURL)/usr/share/bootmanager/$(DEPLOYMENT)
43         $(SSHCOMMAND) service plc start bootmanager
44 endif
45
46 ##########
47 tags:
48         find . -type f | egrep -v 'TAGS|/\.svn/|\.git/|~$$' | xargs etags
49
50 .PHONY: tags