-
Notifications
You must be signed in to change notification settings - Fork 191
/
makefile
59 lines (49 loc) · 1.62 KB
/
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
57
58
59
# really just some handy scripts...
KEXT=USBInjectAll.kext
DIST=RehabMan-USBInjectAll
BUILDDIR=./Build/Products
INSTDIR=/Library/Extensions
ifeq ($(findstring 32,$(BITS)),32)
OPTIONS:=$(OPTIONS) -arch i386
endif
ifeq ($(findstring 64,$(BITS)),64)
OPTIONS:=$(OPTIONS) -arch x86_64
endif
OPTIONS:=$(OPTIONS) -scheme USBInjectAll
.PHONY: all
all:
xcodebuild build $(OPTIONS) -configuration Debug
xcodebuild build $(OPTIONS) -configuration Release
.PHONY: clean
clean:
xcodebuild clean $(OPTIONS) -configuration Debug
xcodebuild clean $(OPTIONS) -configuration Release
.PHONY: update_kernelcache
update_kernelcache:
sudo touch /System/Library/Extensions
sudo kextcache -update-volume /
.PHONY: install_debug
install_debug:
sudo cp -R $(BUILDDIR)/Debug/$(KEXT) $(INSTDIR)
if [ "`which tag`" != "" ]; then sudo tag -a Purple $(INSTDIR)/$(KEXT); fi
make update_kernelcache
.PHONY: install
install:
sudo cp -R $(BUILDDIR)/Release/$(KEXT) $(INSTDIR)
if [ "`which tag`" != "" ]; then sudo tag -a Blue $(INSTDIR)/$(KEXT); fi
make update_kernelcache
.PHONY: distribute
distribute:
if [ -e ./Distribute ]; then rm -r ./Distribute; fi
mkdir ./Distribute
cp -R $(BUILDDIR)/Debug ./Distribute
cp -R $(BUILDDIR)/Release ./Distribute
cp README.md ./Distribute
cp License.md ./Distribute
find ./Distribute -path *.DS_Store -delete
find ./Distribute -path *.dSYM -exec echo rm -r {} \; >/tmp/org.voodoo.rm.dsym.sh
chmod +x /tmp/org.voodoo.rm.dsym.sh
/tmp/org.voodoo.rm.dsym.sh
rm /tmp/org.voodoo.rm.dsym.sh
ditto -c -k --sequesterRsrc --zlibCompressionLevel 9 ./Distribute ./Archive.zip
mv ./Archive.zip ./Distribute/`date +$(DIST)-%Y-%m%d.zip`