framebuffer: disable debugger by default
[litex.git] / software / common.mak
1 TARGET_PREFIX=lm32-elf
2 CLANG=clang -ccc-host-triple $(TARGET_PREFIX)
3
4 CC_normal := $(CLANG)
5 AR_normal := $(TARGET_PREFIX)-ar
6 LD_normal := $(TARGET_PREFIX)-ld
7 OBJCOPY_normal := $(TARGET_PREFIX)-objcopy
8 RANLIB_normal := $(TARGET_PREFIX)-ranlib
9
10 CC_quiet = @echo " CC " $@ && $(CLANG)
11 AR_quiet = @echo " AR " $@ && $(TARGET_PREFIX)-ar
12 LD_quiet = @echo " LD " $@ && $(TARGET_PREFIX)-ld
13 OBJCOPY_quiet = @echo " OBJCOPY " $@ && $(TARGET_PREFIX)-objcopy
14 RANLIB_quiet = @echo " RANLIB " $@ && $(TARGET_PREFIX)-ranlib
15
16 ifeq ($(V),1)
17 CC = $(CC_normal)
18 AR = $(AR_normal)
19 LD = $(LD_normal)
20 OBJCOPY = $(OBJCOPY_normal)
21 RANLIB = $(RANLIB_normal)
22 else
23 CC = $(CC_quiet)
24 AR = $(AR_quiet)
25 LD = $(LD_quiet)
26 OBJCOPY = $(OBJCOPY_quiet)
27 RANLIB = $(RANLIB_quiet)
28 endif
29
30 # Toolchain options
31 #
32 INCLUDES = -I$(M2DIR)/software/include/base -I$(M2DIR)/software/include -I$(M2DIR)/common
33 CFLAGS = -O9 -Wall -Wstrict-prototypes -Wold-style-definition -Wshadow \
34 -Wmissing-prototypes -fsigned-char -nostdinc $(INCLUDES)
35 LDFLAGS = -nostdlib -nodefaultlibs
36
37 # compile and generate dependencies, based on
38 # http://scottmcpeak.com/autodepend/autodepend.html
39
40 define compile-dep =
41 $(CC) -c $(CFLAGS) $< -o $*.o
42 @$(CC_normal) -MM $(CFLAGS) $< > $*.d
43 @mv -f $*.d $*.d.tmp
44 @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
45 @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \
46 sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
47 @rm -f $*.d.tmp
48 endef