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