| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium 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 __PROJECT_LIST__ | 10 __PROJECT_LIST__ |
| 11 | 11 |
| 12 # Define the default target | 12 # Define the default target |
| 13 all: | 13 all: |
| 14 | 14 |
| 15 # | 15 # |
| 16 # Target Macro | 16 # Target Macro |
| 17 # | 17 # |
| 18 # Macro defines a phony target for each example, and adds it to a list of | 18 # Macro defines a phony target for each example, and adds it to a list of |
| 19 # targets. | 19 # targets. |
| 20 # | 20 # |
| 21 define TARGET | 21 define TARGET |
| 22 TARGET_LIST+=$(1)_TARGET | 22 TARGET_LIST+=$(1)_TARGET |
| 23 .PHONY: $(1)_TARGET | 23 .PHONY: $(1)_TARGET |
| 24 $(1)_TARGET: | 24 $(1)_TARGET: |
| 25 +$(MAKE) -C $(1) | 25 +$(MAKE) -C $(1) |
| 26 | 26 |
| 27 VERSIONS_LIST+=$(1)_VERSIONS |
| 28 .PHONY: $(1)_VERSIONS |
| 29 $(1)_VERSIONS: |
| 30 +$(MAKE) -C $(1) all_versions |
| 31 |
| 27 CLEAN_LIST+=$(1)_CLEAN | 32 CLEAN_LIST+=$(1)_CLEAN |
| 28 .PHONY: $(1)_CLEAN | 33 .PHONY: $(1)_CLEAN |
| 29 $(1)_CLEAN: | 34 $(1)_CLEAN: |
| 30 +$(MAKE) -C $(1) clean | 35 +$(MAKE) -C $(1) clean |
| 31 endef | 36 endef |
| 32 | 37 |
| 33 | 38 |
| 34 # Define the various targets via the Macro | 39 # Define the various targets via the Macro |
| 35 $(foreach proj,$(PROJECTS),$(eval $(call TARGET,$(proj)))) | 40 $(foreach proj,$(PROJECTS),$(eval $(call TARGET,$(proj)))) |
| 36 | 41 |
| 37 __DEPENDENCIES__ | 42 __DEPENDENCIES__ |
| 38 | 43 |
| 39 all: $(TARGET_LIST) | 44 all: $(TARGET_LIST) |
| 40 echo "Done building targets." | 45 echo "Done building targets." |
| 41 | 46 |
| 47 all_versions: $(VERSIONS_LIST) |
| 48 echo "Done building all versions." |
| 49 |
| 42 clean: $(CLEAN_LIST) | 50 clean: $(CLEAN_LIST) |
| 43 echo "Done cleaning targets." | 51 echo "Done cleaning targets." |
| 44 | 52 |
| 45 .PHONY: RUN | 53 .PHONY: RUN |
| 46 RUN: all | 54 RUN: all |
| 47 echo "Starting up python webserver." | 55 echo "Starting up python webserver." |
| 48 python ../tools/httpd.py | 56 python ../tools/httpd.py |
| OLD | NEW |