|  | # Copyright 2015 The Weave Authors. All rights reserved. | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | ### | 
|  | # examples | 
|  |  | 
|  | examples_provider_obj_files := $(EXAMPLES_PROVIDER_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) | 
|  |  | 
|  | USE_INTERNAL_LIBEVHTP ?= 1 | 
|  |  | 
|  | ifeq (1, $(USE_INTERNAL_LIBEVHTP)) | 
|  | $(examples_provider_obj_files) : third_party/include/evhtp.h | 
|  | endif | 
|  |  | 
|  | $(examples_provider_obj_files) : out/$(BUILD_MODE)/%.o : %.cc | 
|  | mkdir -p $(dir $@) | 
|  | $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< | 
|  |  | 
|  | out/$(BUILD_MODE)/examples_provider.a : $(examples_provider_obj_files) | 
|  | rm -f $@ | 
|  | $(AR) crsT $@ $^ | 
|  |  | 
|  | EXAMPLES_DAEMON_SRC_FILES := \ | 
|  | examples/daemon/ledflasher/ledflasher.cc \ | 
|  | examples/daemon/light/light.cc \ | 
|  | examples/daemon/lock/lock.cc \ | 
|  | examples/daemon/oven/oven.cc \ | 
|  | examples/daemon/sample/sample.cc \ | 
|  | examples/daemon/speaker/speaker.cc | 
|  |  | 
|  | examples_daemon_obj_files := $(EXAMPLES_DAEMON_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) | 
|  |  | 
|  | ifeq (1, $(USE_INTERNAL_LIBEVHTP)) | 
|  | $(examples_daemon_obj_files) : third_party/include/evhtp.h | 
|  | endif | 
|  |  | 
|  | $(examples_daemon_obj_files) : out/$(BUILD_MODE)/%.o : %.cc | 
|  | mkdir -p $(dir $@) | 
|  | $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< | 
|  |  | 
|  | daemon_common_flags := \ | 
|  | -Wl,-rpath=out/$(BUILD_MODE)/ \ | 
|  | -Lthird_party/lib \ | 
|  | -levent \ | 
|  | -levent_openssl \ | 
|  | -lpthread \ | 
|  | -lavahi-common \ | 
|  | -lavahi-client \ | 
|  | -lexpat \ | 
|  | -lcurl \ | 
|  | -lssl \ | 
|  | -lcrypto | 
|  |  | 
|  | daemon_deps := out/$(BUILD_MODE)/examples_provider.a out/$(BUILD_MODE)/libweave.so | 
|  |  | 
|  | ifeq (1, $(USE_INTERNAL_LIBEVHTP)) | 
|  | daemon_deps += third_party/lib/libevhtp.a | 
|  | else | 
|  | daemon_common_flags += -levhtp | 
|  | endif | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_ledflasher : out/$(BUILD_MODE)/examples/daemon/ledflasher/ledflasher.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_light : out/$(BUILD_MODE)/examples/daemon/light/light.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_lock : out/$(BUILD_MODE)/examples/daemon/lock/lock.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_oven : out/$(BUILD_MODE)/examples/daemon/oven/oven.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_sample : out/$(BUILD_MODE)/examples/daemon/sample/sample.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | out/$(BUILD_MODE)/weave_daemon_speaker : out/$(BUILD_MODE)/examples/daemon/speaker/speaker.o $(daemon_deps) | 
|  | $(CXX) -o $@ $^ $(CFLAGS) $(daemon_common_flags) | 
|  |  | 
|  | all-examples : out/$(BUILD_MODE)/weave_daemon_ledflasher out/$(BUILD_MODE)/weave_daemon_light out/$(BUILD_MODE)/weave_daemon_lock out/$(BUILD_MODE)/weave_daemon_oven out/$(BUILD_MODE)/weave_daemon_sample out/$(BUILD_MODE)/weave_daemon_speaker | 
|  |  | 
|  | .PHONY : all-examples | 
|  |  |