source: mainline/kernel/Makefile@ a0a273e

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since a0a273e was a0a273e, checked in by jzr <zarevucky.jiri@…>, 8 years ago

Unify compiler handling a bit.

Most compiler flags have been changed from GCC-specific to "common",
since code might build but not work properly without them.
Clang still rejects some of the flags, but at least we can see
the incompatibilities now.

Explicit —target flag was removed from clang, in favor of using clang
through a target-specific symlink. This allows clang to automatically
find correct assembler and linker, if it needs to.

Additionally, assembly language files are now compiled using $(CC)
whether or not they need the preprocessor. This allows clang to build
.s files using its integrated assembler.

  • Property mode set to 100644
File size: 14.6 KB
Line 
1#
2# Copyright (c) 2005 Martin Decky
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions
7# are met:
8#
9# - Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# - Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14# - The name of the author may not be used to endorse or promote products
15# derived from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
29## Configuration
30#
31
32ROOT_PATH = ..
33
34VERSION_DEF = $(ROOT_PATH)/version
35
36COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common
37COMMON_HEADER = $(ROOT_PATH)/common.h
38COMMON_HEADER_ARCH = arch/$(KARCH)/include/arch/common.h
39
40CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config
41CONFIG_HEADER = $(ROOT_PATH)/config.h
42
43-include $(VERSION_DEF)
44-include $(COMMON_MAKEFILE)
45-include $(CONFIG_MAKEFILE)
46
47## Common names
48#
49
50AGDEPEND = Makefile.ag.depend
51DEPEND = Makefile.depend
52DEPEND_PREV = $(DEPEND).prev
53RAW = kernel.raw
54BIN = kernel.bin
55MAP = kernel.map
56JOB = kernel.job
57MAP_PREV = $(MAP).prev
58DISASM = kernel.disasm
59DUMP = kernel.dump
60REAL_MAP = generic/src/debug/real_map
61
62GENMAP = tools/genmap.py
63JOBFILE = $(ROOT_PATH)/tools/jobfile.py
64
65LINK = arch/$(KARCH)/_link.ld
66EMPTY_MAP = generic/src/debug/empty_map.o
67SIZEOK_MAP = generic/src/debug/sizeok_map.o
68
69.PHONY: all clean autogen_clean
70
71all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(BIN) $(DISASM)
72 -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV)
73
74clean: autogen_clean
75 rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* arch/*/_link.ld arch/*/include/arch/common.h
76 find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm '{}' \;
77
78## Common compiler flags
79#
80
81INCLUDES = generic/include genarch/include arch/$(KARCH)/include ../abi/include
82INCLUDES_FLAGS = $(addprefix -I,$(INCLUDES))
83
84DEFS = -DKERNEL -DRELEASE=$(RELEASE) "-DCOPYRIGHT=$(COPYRIGHT)" "-DNAME=$(NAME)" -D__$(BITS)_BITS__ -D__$(ENDIANESS)__
85
86COMMON_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
87 -ffreestanding -fno-builtin -nostdlib -nostdinc \
88 -fexec-charset=UTF-8 -finput-charset=UTF-8
89
90GCC_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-unused-parameter \
91 -Wmissing-prototypes -Werror-implicit-function-declaration \
92 -Wwrite-strings -pipe
93
94ICC_CFLAGS = -Wall -Wmissing-prototypes \
95 -Werror-implicit-function-declaration -wd170
96
97CLANG_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-unused-parameter \
98 -Wmissing-prototypes -Werror-implicit-function-declaration \
99 -Wwrite-strings -pipe -fno-stack-protector -fno-PIC
100
101ifeq ($(CONFIG_DEBUG),y)
102 COMMON_CFLAGS += -Werror
103endif
104
105ifeq ($(CONFIG_LTO),y)
106 COMMON_CFLAGS += -flto
107endif
108
109ifeq ($(CONFIG_LINE_DEBUG),y)
110 COMMON_CFLAGS += -g
111endif
112
113#
114# Mind the mutual ordering with the inclusion of the arch Makefile.inc.
115# AFLAGS and LFLAGS must be initialized before the inclusion.
116#
117AFLAGS =
118LFLAGS = -n -T $(LINK) -M --fatal-warnings
119
120# FIXME: This condition is a workaround for issues #693 and #694.
121ifneq ($(KARCH),sparc64)
122ifneq ($(KARCH),mips32)
123 AFLAGS += --fatal-warnings
124endif
125endif
126
127#
128# Mind the mutual ordering with the initialization of AFLAGS and LFLAGS.
129# The arch Makefile.inc must be included after the initialization.
130#
131-include arch/$(KARCH)/Makefile.inc
132-include genarch/Makefile.inc
133-include $(DEPEND)
134-include $(AGDEPEND)
135
136## The at-sign
137#
138# The $(ATSIGN) variable holds the ASCII character representing the at-sign
139# ('@') used in various $(AS) constructs (e.g. @progbits). On architectures that
140# don't use '@' for starting a comment, $(ATSIGN) is merely '@'. However, on
141# those that do use it for starting a comment (e.g. arm32), $(ATSIGN) must be
142# defined as the percentile-sign ('%') in the architecture-dependent
143# Makefile.inc.
144#
145
146ATSIGN ?= @
147
148## Cross-platform assembly to start a symtab.data section
149#
150
151SYMTAB_SECTION = .section symtab.data, \"a\", $(ATSIGN)progbits;
152
153## Compilation options
154#
155
156ifeq ($(COMPILER),gcc_native)
157 CFLAGS = $(COMMON_CFLAGS) $(GCC_CFLAGS)
158 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
159 INSTRUMENTATION = -finstrument-functions
160endif
161
162ifeq ($(COMPILER),gcc_cross)
163 CFLAGS = $(COMMON_CFLAGS) $(GCC_CFLAGS)
164 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
165 INSTRUMENTATION = -finstrument-functions
166endif
167
168ifeq ($(COMPILER),gcc_helenos)
169 CFLAGS = $(COMMON_CFLAGS) $(GCC_CFLAGS)
170 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
171 INSTRUMENTATION = -finstrument-functions
172endif
173
174ifeq ($(COMPILER),icc)
175 CFLAGS = $(COMMON_CFLAGS) $(ICC_CFLAGS)
176 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
177 INSTRUMENTATION =
178endif
179
180ifeq ($(COMPILER),clang)
181 CFLAGS = $(COMMON_CFLAGS) $(CLANG_CFLAGS)
182 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
183 INSTRUMENTATION = -finstrument-functions
184endif
185
186
187## Generic kernel sources
188#
189
190GENERIC_SOURCES = \
191 generic/src/adt/avl.c \
192 generic/src/adt/bitmap.c \
193 generic/src/adt/btree.c \
194 generic/src/adt/cht.c \
195 generic/src/adt/hash_table.c \
196 generic/src/adt/list.c \
197 generic/src/console/chardev.c \
198 generic/src/console/console.c \
199 generic/src/console/prompt.c \
200 generic/src/cpu/cpu.c \
201 generic/src/cpu/cpu_mask.c \
202 generic/src/ddi/ddi.c \
203 generic/src/ddi/irq.c \
204 generic/src/debug/symtab.c \
205 generic/src/debug/stacktrace.c \
206 generic/src/debug/panic.c \
207 generic/src/debug/debug.c \
208 generic/src/interrupt/interrupt.c \
209 generic/src/log/log.c \
210 generic/src/main/main.c \
211 generic/src/main/kinit.c \
212 generic/src/main/uinit.c \
213 generic/src/main/version.c \
214 generic/src/main/shutdown.c \
215 generic/src/proc/program.c \
216 generic/src/proc/scheduler.c \
217 generic/src/proc/thread.c \
218 generic/src/proc/task.c \
219 generic/src/proc/the.c \
220 generic/src/syscall/syscall.c \
221 generic/src/syscall/copy.c \
222 generic/src/mm/km.c \
223 generic/src/mm/reserve.c \
224 generic/src/mm/frame.c \
225 generic/src/mm/page.c \
226 generic/src/mm/tlb.c \
227 generic/src/mm/as.c \
228 generic/src/mm/backend_anon.c \
229 generic/src/mm/backend_elf.c \
230 generic/src/mm/backend_phys.c \
231 generic/src/mm/backend_user.c \
232 generic/src/mm/slab.c \
233 generic/src/lib/func.c \
234 generic/src/lib/mem.c \
235 generic/src/lib/memfnc.c \
236 generic/src/lib/gsort.c \
237 generic/src/lib/str.c \
238 generic/src/lib/elf.c \
239 generic/src/lib/ra.c \
240 generic/src/lib/rd.c \
241 generic/src/printf/printf_core.c \
242 generic/src/printf/printf.c \
243 generic/src/printf/snprintf.c \
244 generic/src/printf/vprintf.c \
245 generic/src/printf/vsnprintf.c \
246 generic/src/time/clock.c \
247 generic/src/time/timeout.c \
248 generic/src/time/delay.c \
249 generic/src/preempt/preemption.c \
250 generic/src/synch/spinlock.c \
251 generic/src/synch/condvar.c \
252 generic/src/synch/mutex.c \
253 generic/src/synch/semaphore.c \
254 generic/src/synch/smc.c \
255 generic/src/synch/smp_memory_barrier.c \
256 generic/src/synch/waitq.c \
257 generic/src/synch/futex.c \
258 generic/src/synch/workqueue.c \
259 generic/src/synch/rcu.c \
260 generic/src/smp/ipi.c \
261 generic/src/smp/smp.c \
262 generic/src/smp/smp_call.c \
263 generic/src/ipc/ipc.c \
264 generic/src/ipc/sysipc.c \
265 generic/src/ipc/sysipc_ops.c \
266 generic/src/ipc/ops/conctmeto.c \
267 generic/src/ipc/ops/concttome.c \
268 generic/src/ipc/ops/dataread.c \
269 generic/src/ipc/ops/datawrite.c \
270 generic/src/ipc/ops/debug.c \
271 generic/src/ipc/ops/pagein.c \
272 generic/src/ipc/ops/sharein.c \
273 generic/src/ipc/ops/shareout.c \
274 generic/src/ipc/ops/stchngath.c \
275 generic/src/ipc/ipcrsc.c \
276 generic/src/ipc/irq.c \
277 generic/src/ipc/event.c \
278 generic/src/cap/cap.c \
279 generic/src/security/perm.c \
280 generic/src/sysinfo/sysinfo.c \
281 generic/src/sysinfo/stats.c
282
283## Kernel console support
284#
285
286ifeq ($(CONFIG_KCONSOLE),y)
287GENERIC_SOURCES += \
288 generic/src/console/kconsole.c \
289 generic/src/console/cmd.c
290endif
291
292## Udebug interface sources
293#
294
295ifeq ($(CONFIG_UDEBUG),y)
296GENERIC_SOURCES += \
297 generic/src/ipc/kbox.c \
298 generic/src/udebug/udebug.c \
299 generic/src/udebug/udebug_ops.c \
300 generic/src/udebug/udebug_ipc.c
301endif
302
303## Test sources
304#
305
306ifeq ($(CONFIG_TEST),y)
307 CFLAGS += -Itest/
308 GENERIC_SOURCES += \
309 test/test.c \
310 test/atomic/atomic1.c \
311 test/btree/btree1.c \
312 test/cht/cht1.c \
313 test/avltree/avltree1.c \
314 test/fault/fault1.c \
315 test/mm/falloc1.c \
316 test/mm/falloc2.c \
317 test/mm/mapping1.c \
318 test/mm/slab1.c \
319 test/mm/slab2.c \
320 test/synch/semaphore1.c \
321 test/synch/semaphore2.c \
322 test/synch/workqueue2.c \
323 test/synch/workqueue3.c \
324 test/synch/rcu1.c \
325 test/print/print1.c \
326 test/print/print2.c \
327 test/print/print3.c \
328 test/print/print4.c \
329 test/print/print5.c \
330 test/thread/thread1.c \
331 test/smpcall/smpcall1.c
332
333 ifeq ($(KARCH),mips32)
334 GENERIC_SOURCES += test/debug/mips1.c
335 else
336 GENERIC_SOURCES += test/debug/mips1_skip.c
337 endif
338
339 ifeq ($(KARCH),ia64)
340 GENERIC_SOURCES += test/mm/purge1.c
341 else
342 GENERIC_SOURCES += test/mm/purge1_skip.c
343 endif
344
345endif
346
347## Sources where instrumentation is enabled
348#
349
350ifeq ($(CONFIG_TRACE),y)
351 INSTRUMENTED_SOURCES = \
352 generic/src/adt/btree.c \
353 generic/src/cpu/cpu.c \
354 generic/src/ddi/ddi.c \
355 generic/src/interrupt/interrupt.c \
356 generic/src/main/main.c \
357 generic/src/main/kinit.c \
358 generic/src/proc/the.c \
359 generic/src/mm/frame.c \
360 generic/src/mm/page.c \
361 generic/src/mm/tlb.c \
362 generic/src/mm/as.c \
363 generic/src/mm/slab.c \
364 generic/src/sysinfo/sysinfo.c \
365 generic/src/console/kconsole.c
366else
367 INSTRUMENTED_SOURCES =
368endif
369
370GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
371ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
372GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
373
374GENARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(GENARCH_AUTOGENS_AG)))
375GENARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(GENARCH_AUTOGENS_AG)))
376GENARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(GENARCH_AUTOGENS_AG)))
377
378ARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(ARCH_AUTOGENS_AG)))
379ARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(ARCH_AUTOGENS_AG)))
380ARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(ARCH_AUTOGENS_AG)))
381
382AUTOGENS_H := $(ARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_H)
383AUTOGENS_AG := $(ARCH_AUTOGENS_AG) $(GENARCH_AUTOGENS_AG)
384
385AS_CFLAGS := $(addprefix -Xassembler ,$(AFLAGS))
386LD_CFLAGS := $(addprefix -Xlinker ,$(LFLAGS))
387
388ifeq ($(COMPILER),clang)
389 AS_CFLAGS += -mllvm -asm-macro-max-nesting-depth=1000
390endif
391
392ifeq ($(CONFIG_SYMTAB),y)
393 SYMTAB_OBJECTS := generic/src/debug/real_map.o
394else
395 SYMTAB_OBJECTS :=
396endif
397
398$(BIN): $(RAW)
399 $(OBJCOPY) -O $(BFD) $< $@
400
401$(DISASM): $(RAW)
402ifeq ($(CONFIG_LINE_DEBUG),y)
403 $(OBJDUMP) -d -S $< > $@
404else
405 $(OBJDUMP) -d $< > $@
406endif
407
408$(RAW): $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(SYMTAB_OBJECTS)
409ifeq ($(CONFIG_LTO),y)
410 $(CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)
411else
412 $(LD) $(LFLAGS) -Map $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)
413endif
414ifeq ($(CONFIG_STRIP_BINARIES),y)
415 $(STRIP) $(RAW)
416endif
417
418$(LINK): $(LINK).in $(DEPEND)
419 $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
420
421%.h: %.ag
422 $(AUTOGEN) probe $< >$<.probe.c
423 $(CC_AUTOGEN) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c
424 $(AUTOGEN) generate $< <$<.probe.s >$@
425
426%.o: %.S $(DEPEND)
427 $(CC) $(DEFS) $(CFLAGS) $(AS_CFLAGS) -D__ASM__ -c -o $@ $<
428ifeq ($(PRECHECK),y)
429 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
430endif
431
432%.o: %.s $(DEPEND)
433 $(CC) $(DEFS) $(CFLAGS) $(AS_CFLAGS) -D__ASM__ -c -o $@ $<
434ifeq ($(PRECHECK),y)
435 $(JOBFILE) $(JOB) $< $@ as asm $(DEFS) $(CFLAGS) $(EXTRA_FLAGS)
436endif
437
438%.o: %.c $(DEPEND)
439 $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) $(if $(findstring $<,$(INSTRUMENTED_SOURCES)),$(INSTRUMENTATION)) -c -o $@ $<
440ifeq ($(PRECHECK),y)
441 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS)
442endif
443
444$(REAL_MAP).o: $(REAL_MAP).bin
445 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$<\"" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $@ -
446
447$(REAL_MAP).bin: $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS)
448 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(EMPTY_MAP) -
449ifeq ($(CONFIG_LTO),y)
450 $(CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
451else
452 $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
453endif
454 $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
455 $(GENMAP) $(MAP_PREV) $(DUMP) $@
456
457 # Do it once again, this time to get correct even the symbols
458 # on architectures that have bss after symtab
459
460 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$@\"" | $(CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(SIZEOK_MAP) -
461ifeq ($(CONFIG_LTO),y)
462 $(CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
463else
464 $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
465endif
466 $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
467 $(GENMAP) $(MAP_PREV) $(DUMP) $@
468
469$(AUTOGENS_H): $(AGDEPEND)
470
471$(AGDEPEND): $(AUTOGENS_AG)
472 echo "# DO NOT EDIT" >$@
473 for g in $^; do \
474 h=`dirname $$g`/`basename $$g .ag`.h; \
475 for l in `$(AUTOGEN) depend $$g`; do \
476 echo "$$h: $$l" >>$@; \
477 done \
478 done
479
480$(DEPEND): $(COMMON_HEADER_ARCH) $(AUTOGENS_H)
481 makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > $@ 2> /dev/null
482 -[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@
483
484$(COMMON_HEADER_ARCH): $(COMMON_HEADER)
485 ln -sfn ../../../../$< $@
486
487autogen_clean:
488 -rm $(ARCH_AUTOGENS_H) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
489 -rm $(GENARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_PROBE_C) $(GENARCH_AUTOGENS_PROBE_S)
490 -rm $(AGDEPEND)
Note: See TracBrowser for help on using the repository browser.