17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 5bb25c06cSjg# Common Development and Distribution License (the "License"). 6bb25c06cSjg# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 22e850fb01SKuriakose Kuruvilla# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 24d0e58ef5SRobert Mustacchi# Copyright 2019 Joyent, Inc. 25*e6bda3ffSRobert Mustacchi# Copyright 2023 Oxide Computer Company 267c478bd9Sstevel@tonic-gate# 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate# This Makefile builds the AMD Opteron/Athlon64 Performance Counter BackEnd. 297c478bd9Sstevel@tonic-gate# 307c478bd9Sstevel@tonic-gate 317c478bd9Sstevel@tonic-gateUTSBASE = ../.. 327c478bd9Sstevel@tonic-gate 33d0e58ef5SRobert Mustacchi# 34d0e58ef5SRobert Mustacchi# The following objects are autogenerated by cpcgen. 35d0e58ef5SRobert Mustacchi# 36d0e58ef5SRobert MustacchiCPCGEN_OBJS = \ 3731aa6202SRobert Mustacchi opteron_pcbe_f17h_zen1.o \ 38281939dfSRobert Mustacchi opteron_pcbe_f17h_zen2.o \ 39*e6bda3ffSRobert Mustacchi opteron_pcbe_f19h_zen3.o \ 40*e6bda3ffSRobert Mustacchi opteron_pcbe_f19h_zen4.o 41d0e58ef5SRobert Mustacchi 42d0e58ef5SRobert MustacchiCPCGEN_COMMON = opteron_pcbe_cpcgen.h 43d0e58ef5SRobert MustacchiCPCGEN_CMD = $(CPCGEN) -d $(SRC)/data/amdpmc -o . 44d0e58ef5SRobert MustacchiCPCGEN_SRCS = $(CPCGEN_OBJS:%.o=%.c) opteron_pcbe_cpcgen.h 45d0e58ef5SRobert Mustacchi 46d0e58ef5SRobert Mustacchi 477c478bd9Sstevel@tonic-gate# 487c478bd9Sstevel@tonic-gate# Define module and object file sets. 497c478bd9Sstevel@tonic-gate# 50e850fb01SKuriakose KuruvillaMODULE = pcbe.AuthenticAMD 517c478bd9Sstevel@tonic-gateOBJECTS = $(OPTERON_PCBE_OBJS:%=$(OBJS_DIR)/%) 52d0e58ef5SRobert MustacchiOBJECTS += $(CPCGEN_OBJS:%=$(OBJS_DIR)/%) 537c478bd9Sstevel@tonic-gateROOTMODULE = $(USR_PCBE_DIR)/$(MODULE) 547c478bd9Sstevel@tonic-gate 557c478bd9Sstevel@tonic-gate# 567c478bd9Sstevel@tonic-gate# Include common rules. 577c478bd9Sstevel@tonic-gate# 587c478bd9Sstevel@tonic-gateinclude $(UTSBASE)/intel/Makefile.intel 597c478bd9Sstevel@tonic-gate 60d0e58ef5SRobert MustacchiCPPFLAGS += -I$(UTSBASE)/intel/opteron_pcbe 61d0e58ef5SRobert MustacchiCLEANFILES += $(CPCGEN_SRCS) 62d0e58ef5SRobert Mustacchi 637c478bd9Sstevel@tonic-gate# 647c478bd9Sstevel@tonic-gate# Define targets. 657c478bd9Sstevel@tonic-gate# 66d0e58ef5SRobert MustacchiALL_TARGET = $(CPCGEN_COMMON) .WAIT $(BINARY) 67d0e58ef5SRobert MustacchiINSTALL_TARGET = $(CPCGEN_COMMON) .WAIT $(BINARY) $(ROOTMODULE) 687c478bd9Sstevel@tonic-gate 697c478bd9Sstevel@tonic-gate 707c478bd9Sstevel@tonic-gate# 717c478bd9Sstevel@tonic-gate# Default build targets. 727c478bd9Sstevel@tonic-gate# 737c478bd9Sstevel@tonic-gate.KEEP_STATE: 747c478bd9Sstevel@tonic-gate 757c478bd9Sstevel@tonic-gatedef: $(DEF_DEPS) 767c478bd9Sstevel@tonic-gate 777c478bd9Sstevel@tonic-gateall: $(ALL_DEPS) 787c478bd9Sstevel@tonic-gate 797c478bd9Sstevel@tonic-gateclean: $(CLEAN_DEPS) 807c478bd9Sstevel@tonic-gate 817c478bd9Sstevel@tonic-gateclobber: $(CLOBBER_DEPS) 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gateinstall: $(INSTALL_DEPS) 847c478bd9Sstevel@tonic-gate 85d0e58ef5SRobert Mustacchiopteron_pcbe_cpcgen.h: 86d0e58ef5SRobert Mustacchi $(CPCGEN_CMD) -a -H 87d0e58ef5SRobert Mustacchi 88d0e58ef5SRobert Mustacchiopteron_pcbe_%.c: $(CPCGEN_COMMON) 89d0e58ef5SRobert Mustacchi $(CPCGEN_CMD) -c -p \ 90d0e58ef5SRobert Mustacchi $$(echo $@ | \ 9131aa6202SRobert Mustacchi $(SED) -e 's/opteron_pcbe_//g' -e 's/.c$$//g') 92d0e58ef5SRobert Mustacchi 93d0e58ef5SRobert Mustacchi$(OBJS_DIR)/%.o: %.c 94d0e58ef5SRobert Mustacchi $(COMPILE.c) -I$(SRC)/uts/intel/pcbe/ -o $@ $< 95d0e58ef5SRobert Mustacchi $(CTFCONVERT_O) 96d0e58ef5SRobert Mustacchi 977c478bd9Sstevel@tonic-gate# 987c478bd9Sstevel@tonic-gate# Include common targets. 997c478bd9Sstevel@tonic-gate# 1007c478bd9Sstevel@tonic-gateinclude $(UTSBASE)/intel/Makefile.targ 101