projects
/
my-code
/
arm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stupid mistake!!! + reorg of functions
[my-code/arm.git]
/
betty
/
Makefile
diff --git
a/betty/Makefile
b/betty/Makefile
index
8925b22
..
0af33ac
100644
(file)
--- a/
betty/Makefile
+++ b/
betty/Makefile
@@
-5,35
+5,50
@@
CFLAGS = -Wall
# cross build
ARCH = arm-elf
CROSS_CC = $(ARCH)-gcc
# cross build
ARCH = arm-elf
CROSS_CC = $(ARCH)-gcc
+CROSS_AS = $(ARCH)-as
+CROSS_LD = $(ARCH)-ld
CROSS_OBJCOPY = $(ARCH)-objcopy
CROSS_OBJCOPY = $(ARCH)-objcopy
-CROSS_CFLAGS = -Wall -Os -mcpu=arm7tdmi-s -nostartfiles -nostdlib
+CROSS_OPTS = -mcpu=arm7tdmi-s
+CROSS_CFLAGS = $(CROSS_OPTS) -Wall -Os
+CROSS_ASLAGS = $(CROSS_OPTS) --gstabs
+CROSS_RAM_LDFLAGS = -Tlpc2220_ram.ld -nostartfiles -nostdlib
+CROSS_ROM_LDFLAGS = -Tlpc2220_rom.ld -nostartfiles -nostdlib
# build objects
HOST_TARGET = lpcload fwdump
# build objects
HOST_TARGET = lpcload fwdump
-CROSS_TARGET = fwbc.hex fwflash.hex
+CROSS_TARGET = fwbc.hex fwflash.hex
betty.hex
# all projects
# all projects
-all: $(HOST
OBJECTS) $(ARMOBJECTS
)
+all: $(HOST
_TARGET) $(CROSS_TARGET
)
# arm code
# arm code
-arm: arm_clean $(
ARMOBJECTS
)
+arm: arm_clean $(
CROSS_TARGET
)
-#
fwb
c
-fwbc:
- $(
ARMCC) $(ARMCFLAGS) -c fwbc.c -o fwbc
+#
.o out of .
c
+%.o: %.c
+ $(
CROSS_CC) -c $(CROSS_CFLAGS) -o $@ $<
-fwbc.hex: fwbc
- $(ARMOBJCOPY) -O ihex fwbc fwbc.hex
+# .o out of .s
+%.o: %.s
+ $(CROSS_AS) $(CROSS_ASLAGS) -o $@ $<
-#
fwflash
-fwflash:
- $(
ARMCC) $(ARMCFLAGS) -c fwflash.c -o fwflash
+#
.elf out of .o
+%.elf: %.o startup.o
+ $(
CROSS_LD) $(CROSS_RAM_LDFLAGS) startup.o -o $@ $<
-fwflash.hex: fwflash
- $(ARMOBJCOPY) -O ihex fwflash fwflash.hex
+# special linker case ...
+betty.elf: betty.o startup.o
+ $(CROSS_LD) $(CROSS_ROM_LDFLAGS) startup.o -o $@ $<
+# .hex out of .elf
+%.hex: %.elf
+ $(CROSS_OBJCOPY) -O ihex $< $@
+
+# host clean
clean:
rm -f lpcload fwdump
clean:
rm -f lpcload fwdump
+# arm clean
arm_clean:
arm_clean:
- rm -f $(ARMOBJECTS) fwbc fwflash
+ rm -vf *.o *.hex *.elf
+