1 1.3 andvar # $Id: Makefile,v 1.3 2023/08/24 14:53:02 andvar Exp $ 2 1.1 yamt 3 1.1 yamt CPROGS= lirs 4 1.1 yamt HPROGS= lfu lru nbsd opt rand 5 1.1 yamt HPROGS+= genpat5 6 1.1 yamt HPROGS+= renumber 7 1.1 yamt PROGS+= linux 8 1.1 yamt 9 1.1 yamt C_COMPILE= cc -O2 -Wall -Werror 10 1.1 yamt 11 1.1 yamt all: _mkall 12 1.1 yamt 13 1.1 yamt 14 1.1 yamt # clock-pro 15 1.1 yamt 16 1.1 yamt CPRO_CFLAGS.useonce= -DUSEONCE 17 1.1 yamt CPRO_CFLAGS.listq= -DLISTQ 18 1.1 yamt CPRO_CFLAGS.listq_useonce= -DLISTQ -DUSEONCE 19 1.1 yamt CPRO_CFLAGS.default= 20 1.1 yamt 21 1.1 yamt CPRO_CFLAGS.listq_adaptive= -DADAPTIVE -DLISTQ 22 1.1 yamt CPRO_CFLAGS.listq_useonce_adaptive= -DADAPTIVE -DLISTQ -DUSEONCE 23 1.1 yamt CPRO_CFLAGS.useonce_adaptive= -DADAPTIVE -DUSEONCE 24 1.1 yamt CPRO_CFLAGS.adaptive= -DADAPTIVE 25 1.1 yamt 26 1.1 yamt PDSIM_CPRO_VARIANTS+= default 27 1.1 yamt PDSIM_CPRO_VARIANTS+= listq 28 1.1 yamt PDSIM_CPRO_VARIANTS+= useonce 29 1.1 yamt PDSIM_CPRO_VARIANTS+= listq_useonce 30 1.1 yamt 31 1.1 yamt PDSIM_CPRO_VARIANTS+= listq_adaptive 32 1.1 yamt PDSIM_CPRO_VARIANTS+= useonce_adaptive 33 1.1 yamt PDSIM_CPRO_VARIANTS+= listq_useonce_adaptive 34 1.1 yamt PDSIM_CPRO_VARIANTS+= adaptive 35 1.1 yamt 36 1.1 yamt PDSIM_PROGS+= ${PDSIM_CPRO_VARIANTS:S/^/pdsim.cpro_/} 37 1.1 yamt PDSIM_PROGS.DBG+= ${PDSIM_CPRO_VARIANTS:S/^/pdsim.dbg.cpro_/} 38 1.1 yamt PDPOL= uvm_pdpolicy_clockpro.c 39 1.1 yamt SYSSRC= ${NETBSDSRC}/sys 40 1.1 yamt .PATH: ${SYSSRC}/uvm 41 1.1 yamt 42 1.1 yamt .for _V in ${PDSIM_CPRO_VARIANTS} 43 1.1 yamt _P=pdsim.cpro_${_V} 44 1.1 yamt ${_P}: pdsim.c ${PDPOL} 45 1.1 yamt ${C_COMPILE} -I. -I${SYSSRC} -DPDSIM ${CPRO_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC} 46 1.1 yamt pdsim.dbg.cpro_${_V}: pdsim.c ${PDPOL} 47 1.1 yamt ${C_COMPILE} -I. -I${SYSSRC} -DPDSIM -DDEBUG ${CPRO_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC} 48 1.1 yamt .endfor 49 1.1 yamt 50 1.1 yamt 51 1.1 yamt # clock 52 1.1 yamt 53 1.3 andvar CLOCK_CFLAGS.default= 54 1.1 yamt CLOCK_CFLAGS.inact90= -DCLOCK_INACTIVEPCT=90 55 1.1 yamt 56 1.1 yamt PDSIM_CLOCK_VARIANTS+= default 57 1.1 yamt PDSIM_CLOCK_VARIANTS+= inact90 58 1.1 yamt 59 1.1 yamt PDSIM_PROGS+= ${PDSIM_CLOCK_VARIANTS:S/^/pdsim.clock_/} 60 1.1 yamt PDSIM_PROGS.DBG+= ${PDSIM_CLOCK_VARIANTS:S/^/pdsim.dbg.clock_/} 61 1.1 yamt PDPOL= uvm_pdpolicy_clock.c 62 1.1 yamt SYSSRC= /sys 63 1.1 yamt .PATH: ${SYSSRC}/uvm 64 1.1 yamt .for _V in ${PDSIM_CLOCK_VARIANTS} 65 1.1 yamt _P=pdsim.clock_${_V} 66 1.1 yamt ${_P}: pdsim.c ${PDPOL} 67 1.1 yamt ${C_COMPILE} -I. -I${SYSSRC} -DPDSIM ${CLOCK_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC} 68 1.1 yamt pdsim.dbg.clock_${_V}: pdsim.c ${PDPOL} 69 1.1 yamt ${C_COMPILE} -I. -I${SYSSRC} -DPDSIM -DDEBUG ${CLOCK_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC} 70 1.1 yamt .endfor 71 1.1 yamt 72 1.1 yamt 73 1.1 yamt PROGS+= ${PDSIM_PROGS} 74 1.1 yamt PROGS+= ${PDSIM_PROGS.DBG} 75 1.1 yamt 76 1.1 yamt ALLPROGS= ${PROGS} ${CPROGS} ${HPROGS} ${TESTPROGS} 77 1.1 yamt .SUFFIXES: .hs 78 1.1 yamt 79 1.1 yamt _mkall: ${ALLPROGS} 80 1.1 yamt 81 1.1 yamt clean: 82 1.1 yamt rm -rf ${ALLPROGS} 83 1.1 yamt rm -rf ${HPROGS:S/$/.hi/g} 84 1.1 yamt rm -rf ${HPROGS:S/$/.o/g} 85 1.1 yamt 86 1.1 yamt .hs: 87 1.1 yamt rm -rf ${.IMPSRC:S/.hs/.o/g} 88 1.1 yamt ghc -cpp -O -o ${.TARGET} --make ${.TARGET} 89 1.1 yamt 90 1.1 yamt linux: nbsd.hs 91 1.1 yamt rm -rf ${.ALLSRC:S/.hs/.o/g} 92 1.1 yamt ghc -cpp -O -DLINUX -o ${.TARGET} --make nbsd 93