13d9b1a2aSHans Rosenfeld# 23d9b1a2aSHans Rosenfeld# This file and its contents are supplied under the terms of the 33d9b1a2aSHans Rosenfeld# Common Development and Distribution License ("CDDL"), version 1.0. 43d9b1a2aSHans Rosenfeld# You may only use this file in accordance with the terms of version 53d9b1a2aSHans Rosenfeld# 1.0 of the CDDL. 63d9b1a2aSHans Rosenfeld# 73d9b1a2aSHans Rosenfeld# A full copy of the text of the CDDL should have accompanied this 83d9b1a2aSHans Rosenfeld# source. A copy of the CDDL is also available via the Internet at 93d9b1a2aSHans Rosenfeld# http://www.illumos.org/license/CDDL. 103d9b1a2aSHans Rosenfeld# 113d9b1a2aSHans Rosenfeld 123d9b1a2aSHans Rosenfeld# 1348d370f1SRobert Mustacchi# Copyright (c) 2018, Joyent, Inc. 14*f5f0964cSRobert Mustacchi# Copyright 2025 Oxide Computer Company 15a713ecffSHans Rosenfeld# Copyright 2022 Tintri by DDN, Inc. All rights reserved. 163d9b1a2aSHans Rosenfeld# 173d9b1a2aSHans Rosenfeld 183d9b1a2aSHans Rosenfeld 193d9b1a2aSHans RosenfeldPROG= nvmeadm 203d9b1a2aSHans Rosenfeld 21533affcbSRobert MustacchiOBJS= nvme_version.o \ 22533affcbSRobert Mustacchi nvmeadm.o \ 23*f5f0964cSRobert Mustacchi nvmeadm_nsmgmt.o \ 24533affcbSRobert Mustacchi nvmeadm_ofmt.o \ 25533affcbSRobert Mustacchi nvmeadm_print.o \ 2643379a28SAndy Fiddaman nvmeadm_wdc.o \ 2780b758daSAndy Fiddaman $(HEXDUMP_OBJS) 283d9b1a2aSHans Rosenfeld 293d9b1a2aSHans Rosenfeldinclude ../Makefile.cmd 30533affcbSRobert Mustacchiinclude ../Makefile.cmd.64 3148d370f1SRobert Mustacchiinclude ../Makefile.ctf 3280b758daSAndy Fiddamaninclude $(SRC)/common/hexdump/Makefile.com 333d9b1a2aSHans Rosenfeld 343d9b1a2aSHans Rosenfeld.KEEP_STATE: 353d9b1a2aSHans Rosenfeld 36533affcbSRobert MustacchiCPPFLAGS += -I$(SRC)/uts/common/io/nvme -I$(SRC)/common/nvme 37533affcbSRobert MustacchiLDLIBS += -ldevinfo -lofmt -lcmdutils -lnvme 38bd0ce624SYuri PankovCSTD= $(CSTD_GNU99) 39533affcbSRobert MustacchiCTF_MODE= link 403d9b1a2aSHans Rosenfeld 418d5300d3SRobert Mustacchi# 428d5300d3SRobert Mustacchi# nvme_print_uint128() uses VLAs which understandably confuses smatch. 438d5300d3SRobert Mustacchi# It should probably be rewritten so we can smatch the file. 448d5300d3SRobert Mustacchi# 458d5300d3SRobert Mustacchinvmeadm_print.o := SMATCH=off 465661bb76SJohn Levon 473d9b1a2aSHans Rosenfeldall: $(PROG) 483d9b1a2aSHans Rosenfeld 493d9b1a2aSHans Rosenfeld$(PROG): $(OBJS) 503d9b1a2aSHans Rosenfeld $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 513d9b1a2aSHans Rosenfeld $(POST_PROCESS) 523d9b1a2aSHans Rosenfeld 5348d370f1SRobert Mustacchi%.o: %.c 5448d370f1SRobert Mustacchi $(COMPILE.c) $< 5548d370f1SRobert Mustacchi $(POST_PROCESS_O) 5648d370f1SRobert Mustacchi 57533affcbSRobert Mustacchi%.o: $(SRC)/common/nvme/%.c 58533affcbSRobert Mustacchi $(COMPILE.c) $< 59533affcbSRobert Mustacchi $(POST_PROCESS_O) 60533affcbSRobert Mustacchi 613d9b1a2aSHans Rosenfeldinstall: all $(ROOTUSRSBINPROG) 623d9b1a2aSHans Rosenfeld 633d9b1a2aSHans Rosenfeldclean: 643d9b1a2aSHans Rosenfeld $(RM) $(OBJS) $(PROG) 653d9b1a2aSHans Rosenfeld 663d9b1a2aSHans Rosenfeldlint: lint_SRCS 673d9b1a2aSHans Rosenfeld 6880b758daSAndy Fiddamaninclude $(SRC)/common/hexdump/Makefile.targ 693d9b1a2aSHans Rosenfeldinclude ../Makefile.targ 70