-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathMakefile
38 lines (27 loc) · 1000 Bytes
/
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
.PHONY: clean test
GENERATED = app/snapshot_blob.bin app/lib/stage1_shellcode.js app/lib/stage2_shellcode.js
all: wampage.ipk
wampage.ipk: app/* ${GENERATED}
ares-package app/
mv tv.rootmy.wampage_0.0.1_all.ipk $@
app/snapshot_blob.bin: build/snapshot_blob_orig.bin src/patch_snapshot.py
python3 src/patch_snapshot.py $< $@
build/snapshot_blob_orig.bin: src/snapshot.js
./bin/mksnapshot.sh $< --startup_blob $@
src/shellcode/%: FORCE
make -C src/shellcode/ $(notdir $@)
clean: src/shellcode/clean
rm -f build/* wampage.ipk ${GENERATED}
app/lib/stage2_shellcode.js: src/shellcode/python_shellcode.bin
sh -c 'echo "var stage2_shellcode_b64 = \`\n$$(base64 $<)\`;"' > $@
app/lib/stage1_shellcode.js: src/shellcode/shellcode.bin
python3 -c '\
sc = open("$<", "rb").read(); \
print("var stage1_shellcode =", [ \
int.from_bytes(sc[i:i+4], "little") \
for i in range(0, len(sc), 4) \
], end=";\n")' \
> $@
test: ${GENERATED}
./bin/d8.sh app/lib/*.js app/wampage.js
FORCE: ;