]> git.saurik.com Git - cycript.git/blobdiff - makefile
Separated out Objective-C and C language extensions using a new Filter.sh shell scrip...
[cycript.git] / makefile
index a01b0460da44d72f5d0f1e90c69cbbf9f10013b4..99ef08de3b468376e3f9a914f66cf7ea7c9b9c6e 100644 (file)
--- a/makefile
+++ b/makefile
@@ -4,12 +4,14 @@ else
 target := $(PKG_TARG)-
 endif
 
-#flags := -g3 -O0 -DYYDEBUG=1
-flags := -g0 -O3
+flags := -g3 -O0 -DYYDEBUG=1
+#flags := -g0 -O3
 flags += -Wall -Werror -I. -fno-common
 
 svn := $(shell svnversion)
 
+filters := C
+
 all:
 all := libcycript.plist cycript
 
@@ -19,6 +21,7 @@ arch := $(shell $(dpkg_architecture) -qDEB_HOST_ARCH 2>/dev/null)
 endif
 
 header := Cycript.tab.hh Parser.hpp Pooling.hpp cycript.hpp
+code := ffi_type.o parse.o Replace.o Output.o Cycript.tab.o lex.cy.o Library.o
 
 dll := so
 
@@ -72,6 +75,9 @@ libcycript.plist: Bridge.def
            echo '})'; \
        } >$@
 
+Cycript.y: Cycript.y.in
+       ./Filter.sh <$< >$@ $(filters)
+
 Cycript.tab.cc Cycript.tab.hh location.hh position.hh: Cycript.y
        bison -v --report=state $<
 
@@ -102,7 +108,7 @@ cyrver: Server.o
            -framework CoreFoundation -framework CFNetwork
        ldid -S $@
 
-libcycript.$(dll): ffi_type.o parse.o Replace.o Output.o Cycript.tab.o lex.cy.o Library.o
+libcycript.$(dll): $(code)
        $(target)g++ $(flags) -dynamiclib -o $@ $(filter %.o,$^) \
            -install_name /usr/lib/libcycript.dylib \
            -lobjc -lapr-1 -lffi -lsubstrate \