xref: /netbsd-src/regress/sys/uvm/pdsim/Makefile (revision c06ffc206b2d2ed05dc5cd467ec508262667390e)
1# $Id: Makefile,v 1.3 2023/08/24 14:53:02 andvar 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.useonce=	-DUSEONCE
17CPRO_CFLAGS.listq=	-DLISTQ
18CPRO_CFLAGS.listq_useonce=	-DLISTQ -DUSEONCE
19CPRO_CFLAGS.default=
20
21CPRO_CFLAGS.listq_adaptive=	-DADAPTIVE -DLISTQ
22CPRO_CFLAGS.listq_useonce_adaptive=	-DADAPTIVE -DLISTQ -DUSEONCE
23CPRO_CFLAGS.useonce_adaptive=	-DADAPTIVE -DUSEONCE
24CPRO_CFLAGS.adaptive=	-DADAPTIVE
25
26PDSIM_CPRO_VARIANTS+=	default
27PDSIM_CPRO_VARIANTS+=	listq
28PDSIM_CPRO_VARIANTS+=	useonce
29PDSIM_CPRO_VARIANTS+=	listq_useonce
30
31PDSIM_CPRO_VARIANTS+=	listq_adaptive
32PDSIM_CPRO_VARIANTS+=	useonce_adaptive
33PDSIM_CPRO_VARIANTS+=	listq_useonce_adaptive
34PDSIM_CPRO_VARIANTS+=	adaptive
35
36PDSIM_PROGS+=	${PDSIM_CPRO_VARIANTS:S/^/pdsim.cpro_/}
37PDSIM_PROGS.DBG+=	${PDSIM_CPRO_VARIANTS:S/^/pdsim.dbg.cpro_/}
38PDPOL=		uvm_pdpolicy_clockpro.c
39SYSSRC=		${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}
46pdsim.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
53CLOCK_CFLAGS.default=
54CLOCK_CFLAGS.inact90=	-DCLOCK_INACTIVEPCT=90
55
56PDSIM_CLOCK_VARIANTS+=	default
57PDSIM_CLOCK_VARIANTS+=	inact90
58
59PDSIM_PROGS+=	${PDSIM_CLOCK_VARIANTS:S/^/pdsim.clock_/}
60PDSIM_PROGS.DBG+=	${PDSIM_CLOCK_VARIANTS:S/^/pdsim.dbg.clock_/}
61PDPOL=		uvm_pdpolicy_clock.c
62SYSSRC=		/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}
68pdsim.dbg.clock_${_V}:	pdsim.c ${PDPOL}
69	${C_COMPILE} -I. -I${SYSSRC} -DPDSIM -DDEBUG ${CLOCK_CFLAGS.${_V}} -o ${.TARGET} ${.ALLSRC}
70.endfor
71
72
73PROGS+=		${PDSIM_PROGS}
74PROGS+=		${PDSIM_PROGS.DBG}
75
76ALLPROGS=	${PROGS} ${CPROGS} ${HPROGS} ${TESTPROGS}
77.SUFFIXES:	.hs
78
79_mkall: ${ALLPROGS}
80
81clean:
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
90linux:	nbsd.hs
91	rm -rf ${.ALLSRC:S/.hs/.o/g}
92	ghc -cpp -O -DLINUX -o ${.TARGET} --make nbsd
93