File: makefile

package info (click to toggle)
smlnj 110.79-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 82,564 kB
  • sloc: ansic: 32,532; asm: 6,314; sh: 2,296; makefile: 1,821; perl: 1,170; pascal: 295; yacc: 190; cs: 78; python: 77; lisp: 19
file content (186 lines) | stat: -rw-r--r-- 5,404 bytes parent folder | download | duplicates (5)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#
# the makefile for the garbage collector and heap I/O library
#

MAKE =		make
AR =		ar
ARFLAGS =	rcv
RANLIB =	ranlib

LIB =		libgc.a
MP_LIB =	libmp-gc.a

GC_OBJS =	init-gc.o call-gc.o minor-gc.o major-gc.o flip.o gc-util.o \
		big-objects.o ml-objects.o obj-info.o build-literals.o \
		record-ops.o \
		$(CHECK_HEAP)

HEAP_IO_OBJS =	import-heap.o export-heap.o \
		blast-in.o blast-out.o blast-gc.o \
		heap-in-util.o heap-out-util.o \
		writer.o mem-writer.o \
		addr-hash.o c-globals-tbl.o

MP_GC_OBJS =	mp-gc.o

OBJS =		$(GC_OBJS) $(HEAP_IO_OBJS)
MP_OBJS =	$(OBJS) $(MP_GC_OBJS)

VERSION =	v-dummy

OBJS_DIR =	../objs
INC_DIR =	../include
INCLUDES =	-I$(OBJS_DIR) -I$(INC_DIR)


$(LIB) :	$(VERSION) $(OBJS)
	rm -rf $(LIB)
	$(AR) $(ARFLAGS) $(LIB) $(OBJS)
	$(RANLIB) $(LIB)

$(MP_LIB) :	$(VERSION) $(MP_OBJS)
	rm -rf $(MP_LIB)
	$(AR) $(ARFLAGS) $(MP_LIB) $(MP_OBJS)
	$(RANLIB) $(MP_LIB)

$(VERSION) :
	($(MAKE) MAKE="$(MAKE)" clean)
	echo "$(VERSION)" > $(VERSION)

#
# GC objects
#
init-gc.o:	init-gc.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/ml-values.h  $(INC_DIR)/cntr.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/memory.h $(INC_DIR)/ml-mp.h \
		heap.h arena-id.h heap-monitor.h \
		$(INC_DIR)/stats-data.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) init-gc.c

call-gc.o:	call-gc.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/ml-values.h  $(INC_DIR)/cntr.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/memory.h $(INC_DIR)/ml-mp.h \
		heap.h arena-id.h heap-monitor.h \
		$(INC_DIR)/stats-data.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) call-gc.c

minor-gc.o:	minor-gc.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-state.h \
		$(INC_DIR)/ml-values.h $(INC_DIR)/ml-objects.h $(INC_DIR)/tags.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/ml-globals.h \
		card-map.h heap.h arena-id.h copy-loop.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) minor-gc.c

major-gc.o:	major-gc.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/ml-values.h $(INC_DIR)/ml-objects.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/tags.h $(INC_DIR)/ml-globals.h \
		card-map.h heap.h arena-id.h copy-loop.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) major-gc.c

flip.o:		flip.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/ml-state.h \
		heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) flip.c

gc-util.o:	gc-util.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-values.h $(INC_DIR)/bibop.h $(INC_DIR)/memory.h \
		card-map.h heap.h arena-id.h heap-monitor.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) gc-util.c

big-objects.o:	big-objects.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/memory.h $(INC_DIR)/bibop.h \
		heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) big-objects.c

ml-objects.o:	ml-objects.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-objects.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/tags.h \
		heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) ml-objects.c

build-literals.o: \
		build-literals.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-objects.h $(INC_DIR)/tags.h \
		heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) build-literals.c

record-ops.o: \
		record-ops.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-objects.h $(INC_DIR)/tags.h \
		arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) record-ops.c

obj-info.o:	obj-info.c \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-values.h $(INC_DIR)/gc.h \
		$(INC_DIR)/bibop.h \
		heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) obj-info.c

xmonitor.o:	xmonitor.c \
		$(OBJS_DIR)/ml-sizes.h $(INC_DIR)/ml-base.h \
		$(INC_DIR)/bibop.h \
		heap.h arena-id.h \
		xmonitor.h heap-monitor.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) xmonitor.c

check-heap.o:	check-heap.c \
		$(OBJS_DIR)/ml-sizes.h $(INC_DIR)/ml-base.h \
		$(INC_DIR)/bibop.h \
		card-map.h heap.h arena-id.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) check-heap.c

gc-stats.o:	gc-stats.c \
		$(OBJS_DIR)/ml-sizes.h $(INC_DIR)/ml-base.h \
		gc-stats.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) gc-stats.c

mp-gc.o:	mp-gc.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/ml-values.h  $(INC_DIR)/cntr.h \
		$(INC_DIR)/bibop.h $(INC_DIR)/memory.h $(INC_DIR)/ml-mp.h \
		heap.h arena-id.h heap-monitor.h \
		$(INC_DIR)/stats-data.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) mp-gc.c


#
# Heap I/O objects
#
c-globals-tbl.o: c-globals-tbl.c \
		$(INC_DIR)/ml-base.h $(INC_DIR)/c-globals-tbl.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) c-globals-tbl.c

import-heap.o:	import-heap.c \
		$(OBJS_DIR)/ml-sizes.h \
		$(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/c-globals-tbl.h \
		$(INC_DIR)/cache-flush.h \
		card-map.h arena-id.h heap.h writer.h \
		ml-heap-image.h addr-hash.h heap-input.h

.c.o:		$< \
		$(OBJS_DIR)/ml-sizes.h $(INC_DIR)/ml-base.h $(INC_DIR)/ml-limits.h \
		$(INC_DIR)/ml-state.h $(INC_DIR)/c-globals-tbl.h \
		arena-id.h heap.h writer.h \
		ml-heap-image.h addr-hash.h heap-input.h
	$(CC) -c $(CFLAGS) $(DEFS) $(INCLUDES) $<

clean :
	rm -f v-* *.o $(LIB) $(MP_LIB)