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