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