# Copyright (c) 2012 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.

BASE_VER ?= 125070

LIBDIR ?= lib
BINS = l2tpipsec_vpn
IPSEC_STARTER = /usr/libexec/ipsec/starter
IPSEC_WHACK = /usr/libexec/ipsec/whack
IPSEC_UPDOWN = /usr/libexec/l2tpipsec_vpn/pluto_updown
L2TPD = /usr/sbin/xl2tpd
L2TPIPSEC_OBJS = \
	ipsec_manager.o \
	l2tp_manager.o \
	service_manager.o
PKCS11_LIB = $(LIBDIR)/libchaps.so
TEST_OBJS = $(L2TPIPSEC_OBJS)
TEST_BINS = \
	ipsec_manager_test \
	l2tp_manager_test \
	service_manager_test

PC_DEPS = libchrome-$(BASE_VER) libchromeos-$(BASE_VER) openssl
PC_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(PC_DEPS))
PC_LIBS := $(shell $(PKG_CONFIG) --libs $(PC_DEPS))

COMMON_LIBS = -lgflags $(PC_LIBS)

TEST_LIBS = $(COMMON_LIBS) -lgtest -lgmock
INCLUDE_DIRS = -I..

CXXFLAGS += -Wall -Werror -DIPSEC_STARTER=\"$(IPSEC_STARTER)\" \
	-DIPSEC_WHACK=\"$(IPSEC_WHACK)\" \
	-DIPSEC_UPDOWN=\"$(IPSEC_UPDOWN)\" \
	-DL2TPD=\"$(L2TPD)\" \
	-DPKCS11_LIB=\"$(PKCS11_LIB)\" \
	$(PC_CFLAGS)

all: $(BINS)

l2tpipsec_vpn: l2tpipsec_vpn.o $(L2TPIPSEC_OBJS)
	$(CXX) $(CXXFLAGS) $^ $(COMMON_LIBS) -o $@

tests: $(TEST_BINS)

%_test: %_test.o $(TEST_OBJS)
	$(CXX) $(CXXFLAGS) $(LIB_DIRS) $^ $(TEST_LIBS) -o $@

.cc.o:
	$(CXX) $(CXXFLAGS) $(INCLUDE_DIRS) -c $< -o $@

clean:
	rm -rf *.o $(BINS) $(TEST_BINS)
