Mercurial > hg > Members > innparusu > xv6-rpi
comparison src/makefile.inc @ 0:83c23a36980d
Init
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 26 May 2017 23:11:05 +0900 |
parents | |
children | 2617849843ec |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:83c23a36980d |
---|---|
1 # Cross-compiling (e.g., on Mac OS X, install arm-none-eabi-gcc with MacPorts) | |
2 CROSSCOMPILE := arm-none-eabi- | |
3 | |
4 CC = $(CROSSCOMPILE)gcc | |
5 AS = $(CROSSCOMPILE)as | |
6 LD = $(CROSSCOMPILE)ld | |
7 OBJCOPY = $(CROSSCOMPILE)objcopy | |
8 OBJDUMP = $(CROSSCOMPILE)objdump | |
9 | |
10 CFLAGS = -march=armv6 -fno-pic -static -fno-builtin -fno-strict-aliasing -Wall -Werror -I. -g -O0 | |
11 LDFLAGS = -L. | |
12 ASFLAGS = -march=armv6 | |
13 | |
14 LIBGCC = $(shell $(CC) -print-libgcc-file-name) | |
15 | |
16 # host compiler | |
17 HOSTCC_preferred = gcc | |
18 define get_hostcc | |
19 $(if $(shell which $(HOSTCC_preferred)),$(HOSTCC_preferred),"cc") | |
20 endef | |
21 HOSTCC := $(call get_hostcc) | |
22 | |
23 # general rules | |
24 quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) | |
25 | |
26 LINK_BIN = $(call quiet-command,$(LD) $(LDFLAGS) \ | |
27 -T $(1) -o $(2) $(3) $(LIBS) -b binary $(4), " LINK $(TARGET_DIR)$@") | |
28 | |
29 LINK_INIT = $(call quiet-command,$(LD) $(LDFLAGS) \ | |
30 $(1) -o $@.out $<, " LINK $(TARGET_DIR)$@") | |
31 OBJCOPY_INIT = $(call quiet-command,$(OBJCOPY) \ | |
32 -S -O binary --prefix-symbols="_binary_$@" $@.out $@, " OBJCOPY $(TARGET_DIR)$@") | |
33 | |
34 build-directory = $(shell mkdir -p build build/device build/lib) | |
35 | |
36 build/%.o: %.c | |
37 $(call build-directory) | |
38 $(call quiet-command,$(CC) $(CFLAGS) \ | |
39 -c -o $@ $<," CC $(TARGET_DIR)$@") | |
40 | |
41 AS_WITH = $(call quiet-command,$(CC) $(ASFLAGS) \ | |
42 $(1) -c -o $@ $<," AS $(TARGET_DIR)$@") | |
43 | |
44 build/%.o: %.S | |
45 $(call build-directory) | |
46 $(call AS_WITH, ) |