temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 1 | # See README.txt. |
| 2 | |
| 3 | .PHONY: all cpp java python clean |
| 4 | |
| 5 | all: cpp java python |
| 6 | |
| 7 | cpp: add_person_cpp list_people_cpp |
Sarah Zakarias | 969397b | 2018-10-15 09:30:34 +0200 | [diff] [blame] | 8 | dart: add_person_dart list_people_dart |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 9 | go: add_person_go list_people_go |
| 10 | gotest: add_person_gotest list_people_gotest |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 11 | java: add_person_java list_people_java |
| 12 | python: add_person_python list_people_python |
| 13 | |
| 14 | clean: |
| 15 | rm -f add_person_cpp list_people_cpp add_person_java list_people_java add_person_python list_people_python |
| 16 | rm -f javac_middleman AddPerson*.class ListPeople*.class com/example/tutorial/*.class |
| 17 | rm -f protoc_middleman addressbook.pb.cc addressbook.pb.h addressbook_pb2.py com/example/tutorial/AddressBookProtos.java |
| 18 | rm -f *.pyc |
Dan Kortschak | 32af37a | 2021-04-21 00:55:58 +0930 | [diff] [blame] | 19 | rm -f protoc_middleman_go tutorial/*.pb.go add_person_go list_people_go go.mod go.sum |
Sarah Zakarias | 969397b | 2018-10-15 09:30:34 +0200 | [diff] [blame] | 20 | rm -f protoc_middleman_dart dart_tutorial/*.pb*.dart |
| 21 | rmdir dart_tutorial 2>/dev/null || true |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 22 | rmdir tutorial 2>/dev/null || true |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 23 | rmdir com/example/tutorial 2>/dev/null || true |
| 24 | rmdir com/example 2>/dev/null || true |
| 25 | rmdir com 2>/dev/null || true |
| 26 | |
| 27 | protoc_middleman: addressbook.proto |
Feng Xiao | 8136ccb | 2017-09-12 12:00:20 -0700 | [diff] [blame] | 28 | protoc $$PROTO_PATH --cpp_out=. --java_out=. --python_out=. addressbook.proto |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 29 | @touch protoc_middleman |
| 30 | |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 31 | protoc_middleman_go: addressbook.proto |
Feng Xiao | 8136ccb | 2017-09-12 12:00:20 -0700 | [diff] [blame] | 32 | mkdir -p tutorial # make directory for go package |
| 33 | protoc $$PROTO_PATH --go_out=tutorial addressbook.proto |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 34 | @touch protoc_middleman_go |
| 35 | |
Sarah Zakarias | 969397b | 2018-10-15 09:30:34 +0200 | [diff] [blame] | 36 | protoc_middleman_dart: addressbook.proto |
| 37 | mkdir -p dart_tutorial # make directory for the dart package |
Sarah Zakarias | f075cac | 2018-10-23 10:36:46 +0200 | [diff] [blame] | 38 | protoc -I ../src/:. --dart_out=dart_tutorial addressbook.proto ../src/google/protobuf/timestamp.proto |
Sarah Zakarias | 969397b | 2018-10-15 09:30:34 +0200 | [diff] [blame] | 39 | pub get |
| 40 | @touch protoc_middleman_dart |
| 41 | |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 42 | add_person_cpp: add_person.cc protoc_middleman |
kenton@google.com | 3c66c2e | 2009-08-03 21:31:25 +0000 | [diff] [blame] | 43 | pkg-config --cflags protobuf # fails if protobuf is not installed |
Zhao Junwang | c562c93 | 2019-11-05 16:48:59 +0800 | [diff] [blame] | 44 | c++ -std=c++11 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf` |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 45 | |
| 46 | list_people_cpp: list_people.cc protoc_middleman |
kenton@google.com | 3c66c2e | 2009-08-03 21:31:25 +0000 | [diff] [blame] | 47 | pkg-config --cflags protobuf # fails if protobuf is not installed |
Zhao Junwang | c562c93 | 2019-11-05 16:48:59 +0800 | [diff] [blame] | 48 | c++ -std=c++11 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf` |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 49 | |
Sarah Zakarias | 969397b | 2018-10-15 09:30:34 +0200 | [diff] [blame] | 50 | add_person_dart: add_person.dart protoc_middleman_dart |
| 51 | |
| 52 | list_people_dart: list_people.dart protoc_middleman_dart |
| 53 | |
Dan Kortschak | 32af37a | 2021-04-21 00:55:58 +0930 | [diff] [blame] | 54 | go_mod: |
| 55 | go mod init github.com/protocolbuffers/protobuf/examples |
| 56 | go mod tidy |
| 57 | |
| 58 | add_person_go: add_person.go protoc_middleman_go go_mod |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 59 | go build -o add_person_go add_person.go |
| 60 | |
Dan Kortschak | 32af37a | 2021-04-21 00:55:58 +0930 | [diff] [blame] | 61 | add_person_gotest: add_person_test.go add_person_go go_mod |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 62 | go test add_person.go add_person_test.go |
| 63 | |
Dan Kortschak | 32af37a | 2021-04-21 00:55:58 +0930 | [diff] [blame] | 64 | list_people_go: list_people.go protoc_middleman_go go_mod |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 65 | go build -o list_people_go list_people.go |
| 66 | |
Dan Kortschak | 32af37a | 2021-04-21 00:55:58 +0930 | [diff] [blame] | 67 | list_people_gotest: list_people.go list_people_go go_mod |
Tim Swast | 7e31c4d | 2015-11-20 15:32:53 -0800 | [diff] [blame] | 68 | go test list_people.go list_people_test.go |
| 69 | |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 70 | javac_middleman: AddPerson.java ListPeople.java protoc_middleman |
Feng Xiao | 74bf45f | 2017-09-08 15:44:09 -0700 | [diff] [blame] | 71 | javac -cp $$CLASSPATH AddPerson.java ListPeople.java com/example/tutorial/AddressBookProtos.java |
temporal | 40ee551 | 2008-07-10 02:12:20 +0000 | [diff] [blame] | 72 | @touch javac_middleman |
| 73 | |
| 74 | add_person_java: javac_middleman |
| 75 | @echo "Writing shortcut script add_person_java..." |
| 76 | @echo '#! /bin/sh' > add_person_java |
| 77 | @echo 'java -classpath .:$$CLASSPATH AddPerson "$$@"' >> add_person_java |
| 78 | @chmod +x add_person_java |
| 79 | |
| 80 | list_people_java: javac_middleman |
| 81 | @echo "Writing shortcut script list_people_java..." |
| 82 | @echo '#! /bin/sh' > list_people_java |
| 83 | @echo 'java -classpath .:$$CLASSPATH ListPeople "$$@"' >> list_people_java |
| 84 | @chmod +x list_people_java |
| 85 | |
| 86 | add_person_python: add_person.py protoc_middleman |
| 87 | @echo "Writing shortcut script add_person_python..." |
| 88 | @echo '#! /bin/sh' > add_person_python |
| 89 | @echo './add_person.py "$$@"' >> add_person_python |
| 90 | @chmod +x add_person_python |
| 91 | |
| 92 | list_people_python: list_people.py protoc_middleman |
| 93 | @echo "Writing shortcut script list_people_python..." |
| 94 | @echo '#! /bin/sh' > list_people_python |
| 95 | @echo './list_people.py "$$@"' >> list_people_python |
| 96 | @chmod +x list_people_python |