+%.o: sig/%.cpp
+ $(target)g++ $(flags) -c -o $@ $<
+
+Cycript.tab.o: Cycript.tab.cc Cycript.tab.hh Parser.hpp Pooling.hpp
+ $(target)g++ $(flags) -c -o $@ $<
+
+lex.cy.o: lex.cy.c Cycript.tab.hh Parser.hpp Pooling.hpp
+ $(target)g++ $(flags) -c -o $@ $<
+
+%.o: %.cpp $(header)
+ $(target)g++ $(flags) -c -o $@ $<
+
+%.o: %.mm $(header)
+ $(target)g++ $(flags) -c -o $@ $<
+
+libcycript.dylib: ffi_type.o parse.o Output.o Cycript.tab.o lex.cy.o Library.o
+ $(target)g++ $(flags) -dynamiclib -o $@ $(filter %.o,$^) \
+ -install_name /usr/lib/libcycript.dylib \
+ -lobjc -lapr-1 -lffi -lsubstrate \
+ -framework CoreFoundation -framework Foundation \
+ -framework CFNetwork \
+ -framework JavaScriptCore -framework WebCore
+ ldid -S $@
+
+cycript: Application.o libcycript.dylib
+ $(target)g++ $(flags) -o $@ $(filter %.o,$^) \
+ -lobjc -lapr-1 -lreadline \
+ -L. -lcycript \
+ -framework Foundation -framework CoreFoundation \
+ -framework JavaScriptCore -framework UIKit
+ ldid -S cycript
+
+package: all
+ rm -rf package
+ mkdir -p package/DEBIAN
+ sed -e 's/#/$(svn)/' control >package/DEBIAN/control
+ mkdir -p package/Library/MobileSubstrate/DynamicLibraries
+ if [[ -e Settings.plist ]]; then \
+ mkdir -p package/Library/PreferenceLoader/Preferences; \
+ cp -a Settings.png package/Library/PreferenceLoader/Preferences/CycriptIcon.png; \
+ cp -a Settings.plist package/Library/PreferenceLoader/Preferences/Cycript.plist; \
+ fi
+ if [[ -e Tweak.plist ]]; then cp -a Tweak.plist package/Library/MobileSubstrate/DynamicLibraries/Cycript.plist; fi
+ #cp -a Cycript.dylib package/Library/MobileSubstrate/DynamicLibraries