11.3Sandvar# $Id: Makefile,v 1.3 2023/08/24 14:53:02 andvar Exp $
21.1Syamt
31.1SyamtCPROGS=		lirs
41.1SyamtHPROGS=		lfu lru nbsd opt rand
51.1SyamtHPROGS+=	genpat5
61.1SyamtHPROGS+=	renumber
71.1SyamtPROGS+=		linux
81.1Syamt
91.1SyamtC_COMPILE=	cc -O2 -Wall -Werror
101.1Syamt
111.1Syamtall:	_mkall
121.1Syamt
131.1Syamt
141.1Syamt# clock-pro
151.1Syamt
161.1SyamtCPRO_CFLAGS.useonce=	-DUSEONCE
171.1SyamtCPRO_CFLAGS.listq=	-DLISTQ
181.1SyamtCPRO_CFLAGS.listq_useonce=	-DLISTQ -DUSEONCE
191.1SyamtCPRO_CFLAGS.default=
201.1Syamt
211.1SyamtCPRO_CFLAGS.listq_adaptive=	-DADAPTIVE -DLISTQ
221.1SyamtCPRO_CFLAGS.listq_useonce_adaptive=	-DADAPTIVE -DLISTQ -DUSEONCE
231.1SyamtCPRO_CFLAGS.useonce_adaptive=	-DADAPTIVE -DUSEONCE
241.1SyamtCPRO_CFLAGS.adaptive=	-DADAPTIVE
251.1Syamt
261.1SyamtPDSIM_CPRO_VARIANTS+=	default
271.1SyamtPDSIM_CPRO_VARIANTS+=	listq
281.1SyamtPDSIM_CPRO_VARIANTS+=	useonce
291.1SyamtPDSIM_CPRO_VARIANTS+=	listq_useonce
301.1Syamt
311.1SyamtPDSIM_CPRO_VARIANTS+=	listq_adaptive
321.1SyamtPDSIM_CPRO_VARIANTS+=	useonce_adaptive
331.1SyamtPDSIM_CPRO_VARIANTS+=	listq_useonce_adaptive
341.1SyamtPDSIM_CPRO_VARIANTS+=	adaptive
351.1Syamt
361.1SyamtPDSIM_PROGS+=	${PDSIM_CPRO_VARIANTS:S/^/pdsim.cpro_/}
371.1SyamtPDSIM_PROGS.DBG+=	${PDSIM_CPRO_VARIANTS:S/^/pdsim.dbg.cpro_/}
381.1SyamtPDPOL=		uvm_pdpolicy_clockpro.c
391.1SyamtSYSSRC=		${NETBSDSRC}/sys
401.1Syamt.PATH:		${SYSSRC}/uvm
411.1Syamt
421.1Syamt.for _V in ${PDSIM_CPRO_VARIANTS}
431.1Syamt_P=pdsim.cpro_${_V}
441.1Syamt${_P}:	pdsim.c ${PDPOL}
451.1Syamt	${C_COMPILE} -I. -I${SYSSRC} -DPDSIM ${CPRO_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC}
461.1Syamtpdsim.dbg.cpro_${_V}:	pdsim.c ${PDPOL}
471.1Syamt	${C_COMPILE} -I. -I${SYSSRC} -DPDSIM -DDEBUG ${CPRO_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC}
481.1Syamt.endfor
491.1Syamt
501.1Syamt
511.1Syamt# clock
521.1Syamt
531.3SandvarCLOCK_CFLAGS.default=
541.1SyamtCLOCK_CFLAGS.inact90=	-DCLOCK_INACTIVEPCT=90
551.1Syamt
561.1SyamtPDSIM_CLOCK_VARIANTS+=	default
571.1SyamtPDSIM_CLOCK_VARIANTS+=	inact90
581.1Syamt
591.1SyamtPDSIM_PROGS+=	${PDSIM_CLOCK_VARIANTS:S/^/pdsim.clock_/}
601.1SyamtPDSIM_PROGS.DBG+=	${PDSIM_CLOCK_VARIANTS:S/^/pdsim.dbg.clock_/}
611.1SyamtPDPOL=		uvm_pdpolicy_clock.c
621.1SyamtSYSSRC=		/sys
631.1Syamt.PATH:		${SYSSRC}/uvm
641.1Syamt.for _V in ${PDSIM_CLOCK_VARIANTS}
651.1Syamt_P=pdsim.clock_${_V}
661.1Syamt${_P}:	pdsim.c ${PDPOL}
671.1Syamt	${C_COMPILE} -I. -I${SYSSRC} -DPDSIM ${CLOCK_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC}
681.1Syamtpdsim.dbg.clock_${_V}:	pdsim.c ${PDPOL}
691.1Syamt	${C_COMPILE} -I. -I${SYSSRC} -DPDSIM -DDEBUG ${CLOCK_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC}
701.1Syamt.endfor
711.1Syamt
721.1Syamt
731.1SyamtPROGS+=		${PDSIM_PROGS}
741.1SyamtPROGS+=		${PDSIM_PROGS.DBG}
751.1Syamt
761.1SyamtALLPROGS=	${PROGS} ${CPROGS} ${HPROGS} ${TESTPROGS}
771.1Syamt.SUFFIXES:	.hs
781.1Syamt
791.1Syamt_mkall: ${ALLPROGS}
801.1Syamt
811.1Syamtclean:
821.1Syamt	rm -rf ${ALLPROGS}
831.1Syamt	rm -rf ${HPROGS:S/$/.hi/g}
841.1Syamt	rm -rf ${HPROGS:S/$/.o/g}
851.1Syamt
861.1Syamt.hs:
871.1Syamt	rm -rf ${.IMPSRC:S/.hs/.o/g}
881.1Syamt	ghc -cpp -O -o ${.TARGET} --make ${.TARGET}
891.1Syamt
901.1Syamtlinux:	nbsd.hs
911.1Syamt	rm -rf ${.ALLSRC:S/.hs/.o/g}
921.1Syamt	ghc -cpp -O -DLINUX -o ${.TARGET} --make nbsd
93