blob: 54b9f53bb0d9b2f32824c7d7fa6863c46d2e3641 [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 Petkov703ec972010-04-27 11:02:18 -070011CFLAGS = -Wall -Werror -I/usr/include -fPIC -O2 $(CCONFIG)
Darin Petkov65b01462010-04-14 13:32:20 -070012CXXFLAGS = $(CFLAGS) -fno-exceptions
13
14CLIENT = metrics_client
15DAEMON = metrics_daemon
16TESTDAEMON = test_daemon
17LIB = libmetrics.a
18SHAREDLIB = libmetrics.so
19
20CLIENT_OBJS = \
21 metrics_client.o
22LIB_OBJS = \
23 metrics_library.o
24DAEMON_OBJS = \
Darin Petkov65b01462010-04-14 13:32:20 -070025 metrics_daemon.o \
26 metrics_daemon_main.o
27TESTDAEMON_OBJS = \
Darin Petkov65b01462010-04-14 13:32:20 -070028 metrics_daemon.o \
29 metrics_daemon_unittest.o
30
31DAEMON_LDFLAGS = $(LDCONFIG) -lrt -lbase -lpthread -lgflags
32TESTDAEMON_LIBS = -lgtest
33
34all: $(LIB) $(SHAREDLIB) $(CLIENT) $(DAEMON) $(TESTDAEMON)
35
36$(CLIENT): $(CLIENT_OBJS) $(SHAREDLIB)
37 $(CXX) $(LDFLAGS) $^ -o $@
38
39$(DAEMON): $(DAEMON_OBJS) $(SHAREDLIB)
40 $(CXX) -o $@ $^ $(DAEMON_LDFLAGS)
41
42$(TESTDAEMON): $(TESTDAEMON_OBJS) $(SHAREDLIB)
43 $(CXX) -o $@ $^ $(DAEMON_LDFLAGS) $(TESTDAEMON_LIBS)
44
45$(LIB): $(LIB_OBJS)
46 ar rcs $@ $^
47
48$(SHAREDLIB): $(LIB_OBJS)
49 $(CXX) $(LDFLAGS) -shared $^ -o $@
50
51%.o: %.cc
52 $(CXX) $(CXXFLAGS) -c $< -o $@
53
54%.o: %.c
55 $(CC) $(CFLAGS) -c $< -o $@
56
Darin Petkov65b01462010-04-14 13:32:20 -070057# dependencies in addition to those defined by the rules
58
59metrics_daemon.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 -070063metrics_daemon_unittest.o: \
Darin Petkov65b01462010-04-14 13:32:20 -070064 metrics_daemon.h \
Darin Petkov703ec972010-04-27 11:02:18 -070065 network_states.h \
66 power_states.h
Darin Petkov65b01462010-04-14 13:32:20 -070067
68install:
69 install $(CLIENT) $(DESTDIR)/usr/bin
70 install $(DAEMON) $(DESTDIR)/usr/bin
71 install $(LIB) $(DESTDIR)/usr/lib
72 install $(SHAREDLIB) $(DESTDIR)/usr/lib
73 install metrics_library.h $(DESTDIR)/usr/include
74 install syslog_parser.sh $(DESTDIR)/usr/bin
75 install omaha_tracker.sh $(DESTDIR)/usr/sbin
76
77clean:
Darin Petkov703ec972010-04-27 11:02:18 -070078 rm -f $(CLIENT) $(DAEMON) $(LIB) $(SHAREDLIB) $(TESTDAEMON) *.o