1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright (c) 2008-2009, Intel Corporation.
23# All Rights Reserved.
24#
25# Copyright (c) 2018, Joyent, Inc.
26# Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
27
28PROG = latencytop
29OBJS = latencytop.o display.o dwrapper.o klog.o stat.o table.o util.o
30SRCS = $(OBJS:%.o=../common/%.c)
31
32include ../../Makefile.cmd
33
34CFLAGS += $(CCVERBOSE)
35CFLAGS64 += $(CCVERBOSE)
36
37CERRWARN += $(CNOWARN_UNINIT)
38
39# smatch has problems parsing the glib header files
40SMATCH=off
41
42CPPFLAGS += -DEMBED_CONFIGS -I$(ADJUNCT_PROTO)/usr/include/glib-2.0 \
43	-I$(ADJUNCT_PROTO)/usr/lib/glib-2.0/include
44CSTD = $(CSTD_GNU99)
45LDLIBS += -lcurses -ldtrace
46NATIVE_LIBS += libglib-2.0.so
47all install	:= LDLIBS += -lglib-2.0
48
49FILEMODE = 0555
50
51ELFWRAP = elfwrap
52WRAPOBJ = latencytop_wrap.o
53
54CLEANFILES += $(OBJS) $(WRAPOBJ) ./latencytop_d ./latencytop_trans
55
56.KEEP_STATE:
57
58all: $(PROG)
59
60install:        $(SUBDIRS)
61	-$(RM) $(ROOTPROG)
62	-$(LN) $(ISAEXEC) $(ROOTPROG)
63
64$(PROG): $(OBJS) $(WRAPOBJ)
65	$(LINK.c) -o $@ $(OBJS) $(WRAPOBJ) $(LDLIBS)
66	$(POST_PROCESS)
67
68$(WRAPOBJ): latencytop_d latencytop_trans
69	$(ELFWRAP) $(WRAPOPT) -o $(WRAPOBJ) latencytop_d latencytop_trans
70
71latencytop_d:
72	cp ../common/latencytop.d ./latencytop_d
73
74latencytop_trans:
75	cp ../common/latencytop.trans ./latencytop_trans
76
77clean:
78	$(RM) $(CLEANFILES)
79
80%.o: ../common/%.c
81	$(COMPILE.c) $<
82
83include ../../Makefile.targ
84