blob: 784ff91e80a990f3709d70c1a7c376a486cae823 [file] [log] [blame]
Darin Petkov65b01462010-04-14 13:32:20 -07001# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4#
5# Makefile for metrics utilities -- library, client and daemon
6#
7
8CCONFIG = $(shell $(PKG_CONFIG) --cflags dbus-1 glib-2.0 dbus-glib-1)
9LDCONFIG = $(shell $(PKG_CONFIG) --libs dbus-1 glib-2.0 gthread-2.0 dbus-glib-1)
10
Darin Petkov41e06232010-05-03 16:45:37 -070011CXXFLAGS += -Wall -Werror -fPIC -fno-exceptions $(CCONFIG)
Darin Petkov65b01462010-04-14 13:32:20 -070012
13CLIENT = metrics_client
14DAEMON = metrics_daemon
15TESTDAEMON = test_daemon
16LIB = libmetrics.a
17SHAREDLIB = libmetrics.so
18
19CLIENT_OBJS = \
20 metrics_client.o
21LIB_OBJS = \
22 metrics_library.o
23DAEMON_OBJS = \
Darin Petkov65b01462010-04-14 13:32:20 -070024 metrics_daemon.o \
25 metrics_daemon_main.o
26TESTDAEMON_OBJS = \
Darin Petkov65b01462010-04-14 13:32:20 -070027 metrics_daemon.o \
28 metrics_daemon_unittest.o
29
30DAEMON_LDFLAGS = $(LDCONFIG) -lrt -lbase -lpthread -lgflags
31TESTDAEMON_LIBS = -lgtest
32
33all: $(LIB) $(SHAREDLIB) $(CLIENT) $(DAEMON) $(TESTDAEMON)
34
35$(CLIENT): $(CLIENT_OBJS) $(SHAREDLIB)
36 $(CXX) $(LDFLAGS) $^ -o $@
37
38$(DAEMON): $(DAEMON_OBJS) $(SHAREDLIB)
39 $(CXX) -o $@ $^ $(DAEMON_LDFLAGS)
40
41$(TESTDAEMON): $(TESTDAEMON_OBJS) $(SHAREDLIB)
42 $(CXX) -o $@ $^ $(DAEMON_LDFLAGS) $(TESTDAEMON_LIBS)
43
44$(LIB): $(LIB_OBJS)
45 ar rcs $@ $^
46
47$(SHAREDLIB): $(LIB_OBJS)
48 $(CXX) $(LDFLAGS) -shared $^ -o $@
49
50%.o: %.cc
51 $(CXX) $(CXXFLAGS) -c $< -o $@
52
Darin Petkov65b01462010-04-14 13:32:20 -070053# dependencies in addition to those defined by the rules
54
55metrics_daemon.o: \
Darin Petkov65b01462010-04-14 13:32:20 -070056 metrics_daemon.h \
Darin Petkov703ec972010-04-27 11:02:18 -070057 network_states.h \
58 power_states.h
Darin Petkov65b01462010-04-14 13:32:20 -070059metrics_daemon_unittest.o: \
Darin Petkov65b01462010-04-14 13:32:20 -070060 metrics_daemon.h \
Darin Petkov703ec972010-04-27 11:02:18 -070061 network_states.h \
62 power_states.h
Darin Petkov65b01462010-04-14 13:32:20 -070063
64install:
65 install $(CLIENT) $(DESTDIR)/usr/bin
66 install $(DAEMON) $(DESTDIR)/usr/bin
67 install $(LIB) $(DESTDIR)/usr/lib
68 install $(SHAREDLIB) $(DESTDIR)/usr/lib
69 install metrics_library.h $(DESTDIR)/usr/include
70 install syslog_parser.sh $(DESTDIR)/usr/bin
71 install omaha_tracker.sh $(DESTDIR)/usr/sbin
72
73clean:
Darin Petkov703ec972010-04-27 11:02:18 -070074 rm -f $(CLIENT) $(DAEMON) $(LIB) $(SHAREDLIB) $(TESTDAEMON) *.o