| OLD | NEW |
| 1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 1 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # | 5 # |
| 6 # GNU Make based build file. For details on GNU Make see: | 6 # GNU Make based build file. For details on GNU Make see: |
| 7 # http://www.gnu.org/software/make/manual/make.html | 7 # http://www.gnu.org/software/make/manual/make.html |
| 8 # | 8 # |
| 9 | 9 |
| 10 PROJECTS:=dlopen fullscreen_tumbler gamepad geturl hello_world_glibc | 10 PROJECTS:=dlopen fullscreen_tumbler gamepad geturl hello_world_glibc |
| 11 PROJECTS+=hello_world_interactive hello_world_newlib input_events load_progress | 11 PROJECTS+=hello_world_interactive hello_world_newlib input_events load_progress |
| 12 PROJECTS+=mouselock multithreaded_input_events pi_generator pong sine_synth | 12 PROJECTS+=mouselock multithreaded_input_events pi_generator pong sine_synth |
| 13 PROJECTS+=tumbler | 13 PROJECTS+=tumbler |
| 14 | 14 |
| 15 # Define the default target | 15 # Define the default target |
| 16 all: | 16 all: |
| 17 | 17 |
| 18 | |
| 19 # | 18 # |
| 20 # Target Macro | 19 # Target Macro |
| 21 # | 20 # |
| 22 # Macro defines a phony target for each example, and adds it to a list of | 21 # Macro defines a phony target for each example, and adds it to a list of |
| 23 # targets. | 22 # targets. |
| 24 # | 23 # |
| 25 define TARGET | 24 define TARGET |
| 26 TARGET_LIST+=$(1)_TARGET | 25 TARGET_LIST+=$(1)_TARGET |
| 27 .PHONY: $(1)_TARGET | 26 .PHONY: $(1)_TARGET |
| 28 $(1)_TARGET: | 27 $(1)_TARGET: |
| 29 » +cd $(1) && $(MAKE) | 28 » +$(MAKE) -C $(1) |
| 30 endef | 29 endef |
| 31 | 30 |
| 32 | 31 |
| 33 # Define the various targets via the Macro | 32 # Define the various targets via the Macro |
| 34 $(foreach proj,$(PROJECTS),$(eval $(call TARGET,$(proj)))) | 33 $(foreach proj,$(PROJECTS),$(eval $(call TARGET,$(proj)))) |
| 35 | 34 |
| 36 | 35 |
| 37 all: $(TARGET_LIST) | 36 all: $(TARGET_LIST) |
| 38 » echo "Done building targets, running webserver." | 37 » echo "Done building targets." |
| 39 | 38 |
| 40 RUN: all | 39 RUN: all |
| 41 echo "Staring up python webserver." | 40 echo "Staring up python webserver." |
| 42 python httpd.py | 41 python httpd.py |
| 43 | 42 |
| OLD | NEW |