blob: 8a5c594eee7a7163792eff9f3df910b31bf2eab4 [file] [log] [blame]
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
include common.mk
BASE_VER ?= 180609
PKG_CONFIG ?= pkg-config
CXXFLAGS += -I$(SRC)/..
DBUS_DEPS = dbus-1 dbus-glib-1
DBUS_FLAGS := $(shell $(PKG_CONFIG) --cflags $(DBUS_DEPS))
DBUS_LIBS := $(shell $(PKG_CONFIG) --libs $(DBUS_DEPS))
GLIB_DEPS = glib-2.0 gobject-2.0 libchrome-$(BASE_VER) libchromeos-$(BASE_VER)
GLIB_FLAGS := $(shell $(PKG_CONFIG) --cflags $(GLIB_DEPS))
GLIB_LIBS := $(shell $(PKG_CONFIG) --libs $(GLIB_DEPS))
LIBNFC_DEPS = libnfc
LIBNFC_FLAGS := $(shell $(PKG_CONFIG) --cflags $(LIBNFC_DEPS))
LIBNFC_LIBS := $(shell $(PKG_CONFIG) --libs $(LIBNFC_DEPS))
COMMON_OBJS = \
nfcd.o
# --------------------------------------------------------------------
# The daemon binary
# --------------------------------------------------------------------
NFCD_OBJS = \
nfcd_main.o
NFCD_FLAGS = $(DBUS_FLAGS) $(GLIB_FLAGS) $(LIBNFC_FLAGS)
NFCD_LIBS = $(DBUS_LIBS) $(GLIB_LIBS) $(LIBNFC_LIBS) -lgflags
CXX_BINARY(nfcd): CXXFLAGS += $(NFCD_FLAGS)
CXX_BINARY(nfcd): LDLIBS += $(NFCD_LIBS)
CXX_BINARY(nfcd): \
$(COMMON_OBJS) \
$(NFCD_OBJS)
clean: CLEAN(nfcd)
# --------------------------------------------------------------------
# The test binary
# --------------------------------------------------------------------
NFCD_UNITTEST_FLAGS = $(NFCD_FLAGS)
TEST_LIBS := $(shell gmock-config --libs) $(shell gtest-config --libs)
NFCD_UNITTEST_LIBS = $(NFCD_LIBS) $(TEST_LIBS)
TEST_OBJS = \
nfcd_unittest.o
CXX_BINARY(nfcd_unittest): \
CXXFLAGS += $(NFCD_UNITTEST_FLAGS)
CXX_BINARY(nfcd_unittest): \
LDLIBS += $(NFCD_UNITTEST_LIBS)
CXX_BINARY(nfcd_unittest): \
$(COMMON_OBJS) \
$(TEST_OBJS)
clean: CLEAN(nfcd_unittest)
tests: TEST(CXX_BINARY(nfcd_unittest))
# --------------------------------------------------------------------
# ALL rules
# --------------------------------------------------------------------
all: CXX_BINARY(nfcd) CXX_BINARY(nfcd_unittest)
ALL_OBJS = \
$(COMMON_OBJS) \
$(NFCD_OBJS) \
$(TEST_OBJS)