]>
Commit | Line | Data |
---|---|---|
4de0686f JF |
1 | # XXX: objective-c exists on non-Darwin |
2 | ||
9185d5ef | 3 | dll := dylib |
b166b11b | 4 | flags += -DCY_EXECUTE |
dfa452c2 JF |
5 | link += -lobjc -framework CoreFoundation |
6 | console += -framework Foundation | |
9185d5ef JF |
7 | library += -install_name /usr/lib/libcycript.$(dll) |
8 | library += -framework Foundation -framework CFNetwork | |
9 | library += -framework JavaScriptCore -framework WebCore | |
28926538 | 10 | library += -lsubstrate -liconv |
1e7ce557 | 11 | |
b166b11b JF |
12 | flags += -DCY_ATTACH |
13 | code += Handler.o | |
14 | inject += Mach/Inject.o | |
15 | Mach/Inject.o: Trampoline.t.hpp Baton.hpp | |
16 | ||
17 | %.t.hpp: %.t.cpp | |
95678376 | 18 | $(target)gcc -c -o $*.t.o $< && { $(target)otool -l $*.t.o | sed -e '/^ *segname __TEXT$$/ { x; s/^ *sectname //; p; }; /^ *sectname / x; d;' | while read -r sect; do $(target)otool -s __TEXT "$$sect" Trampoline.t.o; done | sed -e '/:$$/ d; / section$$/ d; s/^[^ \t]*[ \t]*//;s/ $$//;s/ /\n/g' | sed -e 's/\(..\)\(..\)\(..\)\(..\)/0\x\4,0\x\3,0\x\2,0\x\1/' | tr '\n' ',' | sed -e '$$ s/,$$//; s/^/static const char $*_[] = {/;s/$$/};\n/' && echo && echo "/*" && $(target)otool -vVt $*.t.o && echo "*/"; } >$@ && rm -f $*.t.o |
b166b11b | 19 | |
cbaa5f0f | 20 | include ObjectiveC.mk |