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 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 # 25 # Copyright (c) 2018, Joyent, Inc. 26 27 PROG = cpustat 28 OBJS = $(PROG).o caps.o time.o setgrp.o strtoset.o 29 SRCS = $(OBJS:%.o=../common/%.c) 30 31 include ../../Makefile.cmd 32 33 STATCOMMONDIR = $(SRC)/cmd/stat/common 34 35 STAT_COMMON_OBJS = timestamp.o 36 STAT_COMMON_SRCS = $(STAT_COMMON_OBJS:%.o=$(STATCOMMONDIR)/%.c) 37 SRCS += $(STAT_COMMON_SRCS) 38 39 CFLAGS += $(CCVERBOSE) $(CTF_FLAGS) 40 CERRWARN += -_gcc=-Wno-uninitialized 41 CPPFLAGS += -D_REENTRANT -I$(SRC)/lib/libcpc/common -I$(STATCOMMONDIR) 42 LDLIBS += -lcpc -lkstat 43 44 # not linted 45 SMATCH=off 46 47 .KEEP_STATE: 48 49 all: $(PROG) 50 51 $(PROG): $(OBJS) $(STAT_COMMON_OBJS) 52 $(LINK.c) $(OBJS) $(STAT_COMMON_OBJS) -o $@ $(LDLIBS) 53 $(POST_PROCESS) 54 $(CTFMERGE) -L VERSION -o $@ $(OBJS) $(STAT_COMMON_OBJS) 55 56 install: all $(ROOTUSRSBINPROG) 57 58 clean: 59 $(RM) $(OBJS) $(STAT_COMMON_OBJS) 60 61 lint: lint_SRCS 62 63 strip: all 64 $(STRIP) $(PROG) 65 66 %.o: ../common/%.c 67 $(COMPILE.c) $< 68 $(CTFCONVERT_O) 69 70 %.o: $(STATCOMMONDIR)/%.c 71 $(COMPILE.c) $< 72 $(CTFCONVERT_O) 73 74 POFILES = ../common/$(PROG).po ../common/caps.po 75 POFILE = $(PROG)_cmd.po 76 77 $(POFILE): $(POFILES) 78 $(RM) $@ 79 cat $(POFILES) > $@ 80 81 include ../../Makefile.targ