]>
Commit | Line | Data |
---|---|---|
9185d5ef | 1 | dll := dylib |
dfa452c2 JF |
2 | link += -lobjc -framework CoreFoundation |
3 | console += -framework Foundation | |
9185d5ef | 4 | library += -install_name /usr/lib/libcycript.$(dll) |
7c6c5b0a JF |
5 | library += -framework Foundation |
6 | library += -framework JavaScriptCore | |
7 | # XXX: do I just need WebCore? | |
8 | library += -framework WebKit | |
9 | library += -liconv | |
0ddd648c | 10 | flags += -I/usr/include/ffi |
71f832e5 | 11 | apr_config := /usr/bin/apr-1-config |
1e7ce557 | 12 | |
53b59114 JF |
13 | ifeq ($(uname_p),i386) |
14 | flags += -m32 | |
15 | endif | |
16 | ||
c4b2057d JF |
17 | flags += -DCY_ATTACH |
18 | code += Handler.o | |
19 | inject += Mach/Inject.o | |
20 | Mach/Inject.o: Trampoline.t.hpp Baton.hpp | |
21 | ||
22 | %.t.hpp: %.t.cpp | |
64058139 JF |
23 | $(target)gcc -c -fno-exceptions -Iinclude -o $*.t.o $< $(flags) && { file=($$($(target)otool -l $*.t.o | sed -e 'x; /^1/ { x; /^ *filesize / { s/^.* //; p; }; /^ *fileoff / { s/^.* //; p; }; x; }; x; /^ *cmd LC_SEGMENT$$/ { s/.*/1/; x; }; d;')); od -t x1 -j $${file[0]} -N $${file[1]} $*.t.o | sed -e 's/^[^ ]*//' | tr $$'\n' ' ' | sed -e 's/ */ /g;s/^ *//;s/ $$//;s/ /,/g;s/\([^,][^,]\)/0x\1/g' | sed -e 's/^/static const char $*_[] = {/;s/$$/};/' && echo && echo "/*" && $(target)otool -vVt $*.t.o && echo "*/"; } >$@ && rm -f $*.t.o |
24 | ||
25 | clean:: | |
26 | rm -f Trampoline.t.hpp | |
c4b2057d | 27 | |
9cad30fa | 28 | include Execute.mk |
cbaa5f0f | 29 | include ObjectiveC.mk |