Makefile 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #preferences for cross development
  2. TOOLCHAIN=arm-elf-
  3. CC=$(TOOLCHAIN)gcc
  4. AS=$(TOOLCHAIN)as
  5. LD=$(TOOLCHAIN)ld
  6. OBJCOPY=$(TOOLCHAIN)objcopy
  7. #flags
  8. CFLAGS = -mcpu=arm7tdmi -g -nostartfiles -nostdlib
  9. ASFLAGS =
  10. #ASFLAGS = --D_ASSEMBLY_
  11. BASENAME = main
  12. ELFFILE = $(BASENAME).elf
  13. BINARY = $(BASENAME).bin
  14. SREC = $(BASENAME).srec
  15. HEX = $(BASENAME).hex
  16. #LSCRIPT = lpc2103.ld
  17. LSCRIPT = lpc2148-ram.ld
  18. #target
  19. TARGETS = $(ELFFILE) $(BINARY) $(SREC) $(HEX)
  20. OBJS = crt.o main.o startup.o console.o
  21. all:$(TARGETS)
  22. $(ELFFILE): $(OBJS) Makefile
  23. $(LD) -o $(ELFFILE) $(OBJS) -T $(LSCRIPT) \
  24. -Map $(BASENAME).map
  25. $(BINARY): $(ELFFILE)
  26. $(OBJCOPY) -O binary -S $(ELFFILE) $(BINARY)
  27. $(SREC): $(ELFFILE)
  28. $(OBJCOPY) -O srec -S $(ELFFILE) $(SREC)
  29. $(HEX): $(ELFFILE)
  30. $(OBJCOPY) -O ihex -S $(ELFFILE) $(HEX)
  31. upload:
  32. lpc21isp $(HEX) /dev/ttyUSB0 115200 12000
  33. clean:
  34. rm -f *.o $(TARGETS)
  35. #arm-elf-gcc -c main.c -o main.o
  36. #sh-2.05b$ ls
  37. #lpc2103.h main.c main.elf main.o
  38. #sh-2.05b$ arm-elf-ld -o main.elf main.o -Map main.map