avdi (owner)

Forks

Revisions

gist: 212448 Download_button fork
public
Description:
Avdi's WebOS Makefile
Public Clone URL: git://gist.github.com/212448.git
Embed All Files: show embed
Makefile #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
APPNAME = org.avdi.myapp
VERSION = 1.0.0
DEVICE = tcp
PACKAGEFILE = $(APPNAME)_$(VERSION)_all.ipk
VMNAME = "Palm Emulator (1.2.0.33)"
EMUPORT = 5522
M4 = m4
PACKAGE = palm-package
INSTALL = palm-install
INSTALLFLAGS = -d $(DEVICE)
LAUNCH = palm-launch
LAUNCHFLAGS = $(INSTALLFLAGS)
DEBUGFLAGS = $(LAUNCHFLAGS) -p "{mojoConfig:true, debuggingEnabled:true}" -i
NOVACOMD = script/novacomd
EMULATOR = palm-emulator
VBOXMANAGE = vboxmanage
VMINFO = $(VBOXMANAGE) showvminfo
VMINFOFLAGS = --machinereadable
 
 
default: package
 
package: $(PACKAGEFILE)
 
install: package emulator
$(INSTALL) $(INSTALLFLAGS) $(PACKAGEFILE)
 
remove:
$(INSTALL) $(INSTALLFLAGS) --remove $(APPNAME)
 
launch: install
$(LAUNCH) $(LAUNCHFLAGS) $(APPNAME)
 
debug: install
$(LAUNCH) $(DEBUGFLAGS) $(APPNAME)
 
vmrunning:
$(VMINFO) $(VMNAME) $(VMINFOFLAGS) | grep -q 'VMState="running"'
 
vmhalted:
$(VMINFO) $(VMNAME) $(VMINFOFLAGS) | grep -q 'VMState="poweroff"'
 
emulator: novacomd
$(MAKE) vmrunning || $(EMULATOR);
 
novacomd: novacomd.pid
 
novacomd.pid:
$(NOVACOMD) start
 
$(PACKAGEFILE): appinfo.json app/views/*/*.html app/assistants/*.js stylesheets/*.css
$(PACKAGE) $(PACKAGEFLAGS) .
 
appinfo.json: appinfo.json.m4 Makefile
$(M4) $(M4FLAGS) -DVERSION=$(VERSION) $< > $@
 
script/novacomd #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/usr/bin/env bash
PIDFILE=novacomd.pid
NOVACOMD=/usr/local/bin/novacomd/novacomd
 
case $1 in
    start)
        $NOVACOMD &
        echo $! > $PIDFILE
        ;;
    stop)
        kill `cat $PIDFILE`
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    status)
        ps `cat $PIDFILE`
        ;;
esac
 
Bash #