File: Makefile.rgc

package info (click to toggle)
euslisp 9.31%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 55,448 kB
  • sloc: ansic: 41,610; lisp: 3,339; makefile: 286; sh: 238; asm: 138; python: 53
file content (62 lines) | stat: -rw-r--r-- 1,991 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#
#	Makefile for Snapshot with Return-barrier GC
#	R.Hanai
#
#	Compile options:
#
# * How to scan stacks
#	__RETURN_BARRIER: scan stacks incrementally.
#	not defined: 
#
# * How to stop mutators - any of the next must be specified.
#	__USE_POLLING: polling  
#	__USE_SIGNAL: signal (not implemented)
#
# * How to proceed GC work - any of the next must be specified.
#	__GC_ALLOC_DRIVEN:
#	__GC_SEPARATE_THREAD:
#	__GC_HYBRID: (not yet implemented)
#
# * Mark bits
#	__USE_MARK_BITMAP: mark bits are prepared as byte maps, not in object headers.
#	not defined: (not implemented correctly)
#
# * Heap expansion
#	__HEAP_EXPANDABLE: expandable-heap.
#	not defined:
#
# * Other options
#
#   __DEBUG: print detailed gc information.
#   __PAPI: use PAPI(Performance counter interface).
#	__ADVANCED_COLLECTOR_CONTROL: (not implemented)
#	__PROFILE_GC:
#	__PSTACK_CACHE:
#

#RGCFLAGS= -D__DBG_LV=0 -DRGC -D__USE_POLLING -D__HEAP_EXPANDABLE -D__GC_SEPARATE_THREAD #-D__RETURN_BARRIER
RGCFLAGS= -D__DBG_LV=0 -DRGC -D__USE_POLLING -D__HEAP_EXPANDABLE -D__GC_SEPARATE_THREAD -D__GC_ALLOC_DRIVEN #-D__RETURN_BARRIER #-D__PSTACK_CACHE

#RGCFLAGS= -D__DBG_LV=1 -DRGC -D__USE_POLLING -D__GC_ALLOC_DRIVEN #-D__RETURN_BARRIER #-D__PSTACK_CACHE
#RGCFLAGS= -DRGC -D__USE_POLLING -D__USE_MARK_BITMAP -D__GC_SEPARATE_THREAD -D__RETURN_BARRIER

RGCFLAGS2= -DGCC -D__EXTENSIONS__
PROFFLAGS= #-pg
CFLAGS+= $(RGCFLAGS) $(RGSFLAGS2) $(PROFFLAGS)
LDFLAGS+= $(PROFFLAGS) #-g

#CC=gcc 
O2FLAGS=-O2 # for xccmem.h

RGCOBJECTS+= $(OBJDIR)/rgc_mem.o $(OBJDIR)/collector.o $(OBJDIR)/rgc_utils.o $(OBJDIR)/external_markbits.o
$(RGCOBJECTS):	$(CDIR)/eus.h $(CDIR)/rgc_utils.h $(CDIR)/collector.h
	(cd $(CDIR); \
	 $(CC) -c -o $(OBJDIR)/$(*F).o $(O2FLAGS) $(CFLAGS) $(RGCFLAGS) $(RGCFLAGS2) $(*F).c)

# dependency
$(OBJDIR)/rgc_mem.o:	$(CDIR)/rgc_mem.c
$(OBJDIR)/collector.o:	$(CDIR)/collector.c
$(OBJDIR)/rgc_utils.o:	$(CDIR)/rgc_utils.c
$(OBJDIR)/external_markbits.o:	$(CDIR)/external_markbits.c

#MTCOBJECTS+=$(RGCOBJECTS)