xref: /illumos-gate/usr/src/cmd/nvmeadm/Makefile (revision f5f0964ce91892f7482efc86903b0ec7c7b6ba66)
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