| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 1 | # This has various targets to assist in developing |
| 2 | # and testing the mock ril. The default "all" target |
| 3 | # invokes protoc to generate the appropriate protobuf |
| 4 | # code. The other targest are used for testing. |
| 5 | |
| 6 | # Assume this Makefile is run in place then top |
| 7 | # point to the top of the android source tree |
| 8 | top=../../../ |
| 9 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 10 | PROTOC=$(wildcard $(top)out/host/*/bin/aprotoc) |
| 11 | #if ((($(words $(PROTO)) != 1))) |
| 12 | ifneq ($(words $(PROTOC)),1) |
| 13 | $(error expecting 1 protoc we have $(words $(PROTOC)), PROTOC='$(PROTOC)') |
| 14 | endif |
| 15 | |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 16 | ifeq ("$(ANDROID_DEVICE)","") |
| 17 | $(warning Default to ANDROID_DEVICE=passion") |
| 18 | ANDROID_DEVICE=passion |
| 19 | endif |
| 20 | |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 21 | # Directories of source files |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 22 | device=$(ANDROID_DEVICE) |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 23 | src_js=src/js |
| 24 | src_proto=src/proto |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 25 | src_generated=$(top)out/target/product/$(device)/obj/SHARED_LIBRARIES/libmock_ril_intermediates/proto/hardware/ril/mock-ril/src/proto |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 26 | |
| 27 | # Directories of generated source files |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 28 | gen_src_py=$(src_generated)/python |
| 29 | gen_src_desc=$(src_generated)/desc |
| 30 | |
| 31 | # Generated files |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 32 | generated=$(gen_src_desc)/msgheader.desc $(gen_src_py)/msgheader_pb2.py \ |
| 33 | $(gen_src_desc)/ril.desc $(gen_src_py)/ril_pb2.py \ |
| 34 | $(gen_src_desc)/ctrl.desc $(gen_src_py)/ctrl_pb2.py |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 35 | |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 36 | # A Makefile to run protoc and simplify testing. |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 37 | .PHONY : all |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 38 | all : $(generated) |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 39 | |
| 40 | # TODO: Document/cleanup these testing targets as we learn whats needed. |
| 41 | |
| 42 | # Make the unit tests |
| 43 | .PHONY : ut |
| 44 | ut : |
| 45 | source $(top)build/envsetup.sh ; mmm $(top)frameworks/base/telephony/tests/telephonytests |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 46 | adb install -r $(top)out/target/product/$(device)/data/app/FrameworksTelephonyTests.apk |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 47 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 48 | t : $(gen_src_desc)/msgheader.desc $(gen_src_py)/msgheader_pb2.py |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 49 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 50 | # Run protoc to create the descriptor files for msgheader |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 51 | $(gen_src_desc)/msgheader.desc : $(src_proto)/msgheader.proto |
| 52 | mkdir -p $(gen_src_desc) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 53 | $(PROTOC) --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $< |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 54 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 55 | # Run protoc to create the python files for msgheader |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 56 | $(gen_src_py)/msgheader_pb2.py : $(src_proto)/msgheader.proto |
| 57 | mkdir -p $(gen_src_py) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 58 | $(PROTOC) --python_out=$(gen_src_py) --proto_path=$(src_proto) $< |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 59 | |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 60 | # Run protoc to create the ril descriptor file for ril |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 61 | $(gen_src_desc)/ril.desc : $(src_proto)/ril.proto |
| 62 | mkdir -p $(gen_src_desc) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 63 | $(PROTOC) --descriptor_set_out=$@ --proto_path=$(src_proto) --include_imports $< |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 64 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 65 | # Run protoc to create the python files for ril |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 66 | $(gen_src_py)/ril_pb2.py : $(src_proto)/ril.proto |
| 67 | mkdir -p $(gen_src_py) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 68 | $(PROTOC) --python_out=$(gen_src_py) --proto_path=$(src_proto) $< |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 69 | |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 70 | # Run protoc to create the python files for control |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 71 | $(gen_src_py)/ctrl_pb2.py : $(src_proto)/ctrl.proto |
| 72 | mkdir -p $(gen_src_py) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 73 | $(PROTOC) --python_out=$(gen_src_py) --proto_path=$(top) --proto_path=$(src_proto) $< |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 74 | |
| 75 | # Run protoc to create the ctrl descriptor file for control |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 76 | $(gen_src_desc)/ctrl.desc : $(src_proto)/ctrl.proto |
| 77 | mkdir -p $(gen_src_desc) |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 78 | $(PROTOC) --descriptor_set_out=$@ --proto_path=$(top) --proto_path=$(src_proto) --include_imports $< |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 79 | |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 80 | # After starting phone do this first to get lastest ril.desc/proto and setup rild |
| 81 | .PHONY : first |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 82 | first : root_remount copy_all forward |
| 83 | |
| 84 | # copy js and descriptors, restart rild and run mockril_tests |
| 85 | .PHONY : tmr |
| 86 | tmr : copy_js_desc restart_rild mockril_tests |
| 87 | |
| 88 | # Copy all files, restart rild and run mockril_tests |
| 89 | .PHONY : test |
| 90 | test : copy_all restart_rild install_mockril_tests mockril_tests |
| 91 | |
| 92 | # Restart rild |
| 93 | .PHONY : restart_rild |
| 94 | restart_rild : |
| Wink Saville | a3260a5 | 2010-11-08 19:18:30 -0800 | [diff] [blame] | 95 | adb shell setprop ctl.restart ril-daemon |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 96 | |
| 97 | # Update only the js/copy and restart rild |
| 98 | .PHONY : tjs |
| 99 | tjs : copy_js_desc restart_rild |
| 100 | |
| 101 | # Run test control server python script |
| 102 | .PHONY : tcs |
| 103 | tcs : |
| 104 | ./tcs.py 127.0.0.1 11111 |
| 105 | |
| 106 | # Run the mock ril tests (use adb shell pm list instrumentation to see the Runner) |
| 107 | .PHONY : mockril_tests |
| 108 | mockril_tests : |
| 109 | adb shell am instrument -e class 'com.android.internal.telephony.mockril.MockRilTest' -w com.android.frameworks.telephonytests/.TelephonyMockRilTestRunner |
| 110 | |
| 111 | # forward the control server tcp port (54312) to a port on the PC side (11111) |
| 112 | .PHONY : forward |
| 113 | forward : |
| 114 | adb forward tcp:11111 tcp:54312 |
| 115 | |
| 116 | # change to root and remount device |
| 117 | .PHONY : root_remount |
| 118 | root_remount : |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 119 | adb root ; sleep 3 ; adb remount ; adb shell setprop rild.libpath /data/lib/libmock_ril.so |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 120 | |
| 121 | # Copy all files |
| 122 | .PHONY : copy_all |
| 123 | copy_all : copy_js_desc copy_mockril |
| 124 | |
| 125 | # Copy js and the protobuf descriptor files |
| 126 | .PHONY : copy_js_desc |
| 127 | copy_js_desc : |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 128 | adb push $(src_js)/mock_ril.js /sdcard/data/ |
| Wink Saville | d9c8c5f | 2010-08-12 16:34:07 -0700 | [diff] [blame] | 129 | adb push $(src_js)/mock_ril_tests.js /sdcard/data/ |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 130 | adb push $(src_js)/simulated_radio.js /sdcard/data/ |
| Wink Saville | d9c8c5f | 2010-08-12 16:34:07 -0700 | [diff] [blame] | 131 | adb push $(src_js)/simulated_radio_tests.js /sdcard/data/ |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 132 | adb push $(src_js)/simulated_icc.js /sdcard/data/ |
| Wink Saville | d9c8c5f | 2010-08-12 16:34:07 -0700 | [diff] [blame] | 133 | adb push $(src_js)/simulated_icc_tests.js /sdcard/data/ |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 134 | adb push $(src_js)/ctrl_server.js /sdcard/data/ |
| Wink Saville | d9c8c5f | 2010-08-12 16:34:07 -0700 | [diff] [blame] | 135 | adb push $(src_js)/ctrl_server_tests.js /sdcard/data/ |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 136 | adb push $(src_js)/ril_vars.js /sdcard/data/ |
| 137 | adb push $(gen_src_desc)/ril.desc /sdcard/data/ |
| 138 | adb push $(gen_src_desc)/ctrl.desc /sdcard/data/ |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 139 | adb forward tcp:11111 tcp:54312 |
| 140 | |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 141 | |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 142 | # Copy the mock ril library |
| 143 | .PHONY : copy_mockril |
| 144 | copy_mockril : |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 145 | adb push $(top)out/target/product/$(device)/system/lib/libmock_ril.so /data/lib/ |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 146 | |
| Wink Saville | 2cfb450 | 2010-07-26 17:00:34 -0700 | [diff] [blame] | 147 | .PHONY : install_mockril_tests |
| 148 | install_mockril_tests : |
| Wink Saville | 2c1fb3a | 2011-03-19 13:42:45 -0700 | [diff] [blame^] | 149 | adb install -r $(top)out/target/product/$(device)/data/app/FrameworksTelephonyTests.apk |
| Wink Saville | 3d6d348 | 2010-07-19 20:37:44 -0700 | [diff] [blame] | 150 | |
| 151 | # Remove generated files |
| 152 | .PHONY : clean |
| 153 | clean : |
| Wink Saville | 52bb1fc | 2010-07-28 16:44:10 -0700 | [diff] [blame] | 154 | rm -f $(generated) |