-libcycript.dylib: Library.mm makefile $(menes)/mobilesubstrate/substrate.h sig/*.[ch]pp Struct.hpp Parser.hpp lex.cy.c Cycript.tab.c Cycript.tab.h
- $(target)g++ -dynamiclib -mthumb -g0 -O2 -Wall -Werror -o $@ $(filter %.cpp,$^) $(filter %.c,$^) $(filter %.mm,$^) -lobjc -I$(menes)/mobilesubstrate $(link) $(flags) -DYYDEBUG=1
+%.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 $@ $<
+
+cyrver: Server.o
+ $(target)g++ $(flags) -o $@ $(filter %.o,$^) \
+ -lobjc -lapr-1 -lsubstrate \
+ -framework CoreFoundation -framework CFNetwork
+ ldid -S $@
+
+Cycript.dylib: Connector.o
+ $(target)g++ $(flags) -dynamiclib -o $@ $(filter %.o,$^) \
+ -lobjc -lapr-1 -lsubstrate \
+ -framework CoreFoundation