# 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