diff --git a/Makefile b/Makefile index 528646c..e1dba9e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ -CXX=clang++ -std=c++11 -stdlib=libc++ `pkg-config capnp --cflags --libs` +CXX=clang++ +CXX_FLAGS=-std=c++11 -stdlib=libc++ `pkg-config capnp --cflags --libs` CAPNPC_JAVA_SOURCES=generator/src/main/cpp/compiler/capnpc-java.c++ @@ -11,9 +12,10 @@ clean : sbt clean capnpc-java : $(CAPNPC_JAVA_SOURCES) - $(CXX) -I/usr/local/include -g $(CAPNPC_JAVA_SOURCES) -o capnpc-java + $(CXX) $(CXX_FLAGS) -g $(CAPNPC_JAVA_SOURCES) -o capnpc-java addressbook : capnpc-java PWD=pwd + mkdir examples/src/main/generated capnp compile -I$(PWD)/generator/src/main/cpp/compiler --src-prefix=examples/src/main/schema -o./capnpc-java:examples/src/main/generated examples/src/main/schema/addressbook.capnp - sbt examples/"run read" + sbt examples/"compile" diff --git a/README.md b/README.md index 34d51d6..70112a5 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,9 @@ When you first build the project, try running `sbt update gen-idea`. This will b When running `make`, the supporting Java code will be built, and the sample schema will be run through the code generator as well to produce the Java binding. You can find the generated code in `/examples/src/main/generated/Addressbook.java` +Example of building and running from the command line: + +``` +$ make CXX_FLAGS="-std=c++11 -I/usr/local/include -L/usr/local/lib -lcapnp -lkj" +$ echo '(people = [(id = 123, name = "Alice", email = "alice@example.com", employment = (school = "MIT"))])' | capnp encode examples/src/main/schema/addressbook.capnp AddressBook | java -cp generator/target/scala-2.11/classes:examples/target/scala-2.11/classes/ org.capnproto.examples.AddressbookMain read +``` \ No newline at end of file