xref: /illumos-gate/usr/src/test/util-tests/tests/libjedec/hex2spd/Makefile (revision bb9475a199514dcace79d04d02c1eff05d65b94f)
1bf05540cSRobert Mustacchi#
2bf05540cSRobert Mustacchi# This file and its contents are supplied under the terms of the
3bf05540cSRobert Mustacchi# Common Development and Distribution License ("CDDL"), version 1.0.
4bf05540cSRobert Mustacchi# You may only use this file in accordance with the terms of version
5bf05540cSRobert Mustacchi# 1.0 of the CDDL.
6bf05540cSRobert Mustacchi#
7bf05540cSRobert Mustacchi# A full copy of the text of the CDDL should have accompanied this
8bf05540cSRobert Mustacchi# source.  A copy of the CDDL is also available via the Internet at
9bf05540cSRobert Mustacchi# http://www.illumos.org/license/CDDL.
10bf05540cSRobert Mustacchi#
11bf05540cSRobert Mustacchi
12bf05540cSRobert Mustacchi#
13*bb9475a1SRobert Mustacchi# Copyright 2025 Oxide Computer Company
14bf05540cSRobert Mustacchi#
15bf05540cSRobert Mustacchi
16bf05540cSRobert MustacchiPROGS = libjedec_hex2spd
17bf05540cSRobert MustacchiOBJS = \
18bf05540cSRobert Mustacchi	libjedec_hex2spd.o	\
19bf05540cSRobert Mustacchi	libjedec_hex2spd_ddr3.o	\
20bf05540cSRobert Mustacchi	libjedec_hex2spd_ddr4.o	\
21bf05540cSRobert Mustacchi	libjedec_hex2spd_ddr5.o	\
22bf05540cSRobert Mustacchi	libjedec_hex2spd_lp3.o	\
23bf05540cSRobert Mustacchi	libjedec_hex2spd_lp4.o	\
24bf05540cSRobert Mustacchi	libjedec_hex2spd_lp5.o
25bf05540cSRobert MustacchiSPD = \
26bf05540cSRobert Mustacchi	ddr3/M393B4G70BM0-CMA09.spd		\
27bf05540cSRobert Mustacchi	ddr3/MT36KSZF2G72LDZ-1G6E2A7.spd	\
28bf05540cSRobert Mustacchi	ddr4/36ASF8G72PZ-3G2E1.spd		\
29bf05540cSRobert Mustacchi	ddr4/AQD-D4U32N32-SBW.spd		\
30bf05540cSRobert Mustacchi	ddr4/AQD-SD4U16GN32-SE1.spd		\
31bf05540cSRobert Mustacchi	ddr4/M386AAK40B40-CWD70.spd		\
32bf05540cSRobert Mustacchi	ddr5/AQD-D5V16GR48-SB.spd		\
33bf05540cSRobert Mustacchi	ddr5/MTC40F2046S1RC48BA1.spd		\
34bf05540cSRobert Mustacchi	lpddr3/NT6CL256T32CQ.spd		\
35bf05540cSRobert Mustacchi	lpddr4/MT53D1024M32D4.spd		\
36bf05540cSRobert Mustacchi	lpddr5/CAMM2.spd			\
37bf05540cSRobert Mustacchi	lpddr5/MT62F4G32D8DV-023.spd
38bf05540cSRobert MustacchiSPDDIR = ddr3 ddr4 ddr5 lpddr3 lpddr4 lpddr5
39bf05540cSRobert Mustacchi
40bf05540cSRobert MustacchiPROGS32 = $(PROGS:%=%.32)
41bf05540cSRobert MustacchiPROGS64 = $(PROGS:%=%.64)
42bf05540cSRobert MustacchiOBJS32 = $(OBJS:%.o=%.32.o)
43bf05540cSRobert MustacchiOBJS64 = $(OBJS:%.o=%.64.o)
44bf05540cSRobert Mustacchi
45bf05540cSRobert MustacchiROOTOPTDIR = $(ROOT)/opt/util-tests/tests
46bf05540cSRobert MustacchiROOTOPTPROGS = $(PROGS32:%=$(ROOTOPTDIR)/%) $(PROGS64:%=$(ROOTOPTDIR)/%)
47bf05540cSRobert MustacchiROOTOPTHEX = $(ROOTOPTDIR)/hex2spd
48bf05540cSRobert MustacchiROOTHEXDIRS = $(SPDDIR:%=$(ROOTOPTHEX)/%)
49bf05540cSRobert MustacchiROOTHEXSPD = $(SPD:%=$(ROOTOPTHEX)/%)
50bf05540cSRobert Mustacchi
51bf05540cSRobert Mustacchi$(ROOTOPTPROGS) := FILEMODE = 0555
52bf05540cSRobert Mustacchi$(ROOTHEXSPD) := FILEMODE = 0444
53bf05540cSRobert Mustacchi
54bf05540cSRobert Mustacchiinclude $(SRC)/cmd/Makefile.cmd
55bf05540cSRobert Mustacchiinclude $(SRC)/cmd/Makefile.ctf
56bf05540cSRobert Mustacchi
57*bb9475a1SRobert MustacchiCSTD = $(CSTD_GNU17)
58bf05540cSRobert MustacchiCTF_MODE = link
59bf05540cSRobert MustacchiLDLIBS += -ljedec -lnvpair
60bf05540cSRobert MustacchiLDLIBS64 += -ljedec -lnvpair
61bf05540cSRobert Mustacchi
62bf05540cSRobert Mustacchi.KEEP_STATE:
63bf05540cSRobert Mustacchi
64bf05540cSRobert Mustacchiall: $(PROGS32) $(PROGS64)
65bf05540cSRobert Mustacchi
66bf05540cSRobert Mustacchiinstall: $(ROOTOPTPROGS) $(ROOTHEXSPD)
67bf05540cSRobert Mustacchi
68bf05540cSRobert Mustacchiclean:
69bf05540cSRobert Mustacchi	$(RM) *.o
70bf05540cSRobert Mustacchi
71bf05540cSRobert Mustacchiclobber: clean
72bf05540cSRobert Mustacchi	$(RM) $(PROGS32) $(PROGS64)
73bf05540cSRobert Mustacchi
74bf05540cSRobert Mustacchi$(ROOTOPTPROGS): $(ROOTOPTHEX)
75bf05540cSRobert Mustacchi
76bf05540cSRobert Mustacchi$(ROOTHEXSPD): $(ROOTHEXDIRS)
77bf05540cSRobert Mustacchi
78bf05540cSRobert Mustacchi$(ROOTOPTHEX):
79bf05540cSRobert Mustacchi	$(INS.dir)
80bf05540cSRobert Mustacchi
81bf05540cSRobert Mustacchi$(ROOTHEXDIRS): $(ROOTOPTHEX)
82bf05540cSRobert Mustacchi	$(INS.dir)
83bf05540cSRobert Mustacchi
84bf05540cSRobert Mustacchi$(ROOTOPTDIR)/%: %
85bf05540cSRobert Mustacchi	$(INS.file)
86bf05540cSRobert Mustacchi
87bf05540cSRobert Mustacchi$(ROOTOPTHEX)/%: data/%
88bf05540cSRobert Mustacchi	$(INS.file)
89bf05540cSRobert Mustacchi
90bf05540cSRobert Mustacchi%.32.o: %.c
91bf05540cSRobert Mustacchi	$(COMPILE.c) -o $@ $<
92bf05540cSRobert Mustacchi	$(POST_PROCESS_O)
93bf05540cSRobert Mustacchi
94bf05540cSRobert Mustacchi%.64.o: %.c
95bf05540cSRobert Mustacchi	$(COMPILE64.c) -o $@ $<
96bf05540cSRobert Mustacchi	$(POST_PROCESS_O)
97bf05540cSRobert Mustacchi
98bf05540cSRobert Mustacchi%.64: $(OBJS64)
99bf05540cSRobert Mustacchi	$(LINK64.c) -o $@ $(OBJS64) $(LDLIBS64)
100bf05540cSRobert Mustacchi	$(POST_PROCESS)
101bf05540cSRobert Mustacchi
102bf05540cSRobert Mustacchi%.32: $(OBJS32)
103bf05540cSRobert Mustacchi	$(LINK.c) -o $@ $(OBJS32) $(LDLIBS)
104bf05540cSRobert Mustacchi	$(POST_PROCESS)
105