Jörg Hohensohn | 6a4e4c8 | 2003-11-30 11:37:43 +0000 | [diff] [blame] | 1 | # __________ __ ___. |
| 2 | # Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
| 3 | # Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
| 4 | # Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
| 5 | # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
| 6 | # \/ \/ \/ \/ \/ |
| 7 | # $Id$ |
| 8 | # |
| 9 | |
| 10 | CC = sh-elf-gcc |
| 11 | LD = sh-elf-ld |
| 12 | AR = sh-elf-ar |
| 13 | AS = sh-elf-as |
| 14 | OC = sh-elf-objcopy |
| 15 | |
| 16 | FIRMWARE := ../../firmware |
| 17 | TOOLSDIR=../../tools |
| 18 | |
| 19 | TARGET = minimon |
| 20 | LDS := $(TARGET).lds |
| 21 | |
| 22 | INCLUDES= -I$(FIRMWARE)/export -I. -I$(OBJDIR) |
| 23 | OBJDIR := . |
| 24 | |
| 25 | CFLAGS = -fpic -O -W -Wall -m1 -nostdlib -ffreestanding -Wstrict-prototypes -fomit-frame-pointer -fschedule-insns $(INCLUDES) $(DEFINES) |
| 26 | AFLAGS += -small -relax |
| 27 | |
| 28 | |
| 29 | ifdef DEBUG |
| 30 | DEFINES := -DDEBUG |
| 31 | CFLAGS += -g |
| 32 | endif |
| 33 | |
| 34 | SRC := $(wildcard *.c) |
| 35 | |
| 36 | OBJS := $(SRC:%.c=$(OBJDIR)/%.o) |
| 37 | |
| 38 | LINKFILE = $(OBJDIR)/$(TARGET).lds |
| 39 | |
| 40 | |
| 41 | $(OBJDIR)/$(TARGET).bin : $(OBJDIR)/$(TARGET).elf |
| 42 | $(OC) -O binary $(OBJDIR)/$(TARGET).elf $(OBJDIR)/$(TARGET).bin |
Jens Arnold | 601afcb | 2008-10-30 00:34:43 +0000 | [diff] [blame] | 43 | $(TOOLSDIR)/sh2d $(OBJDIR)/$(TARGET).bin -o 0x0ffff000 > $(OBJDIR)/$(TARGET).asm |
Jörg Hohensohn | 6a4e4c8 | 2003-11-30 11:37:43 +0000 | [diff] [blame] | 44 | |
| 45 | $(OBJDIR)/$(TARGET).elf : $(OBJS) |
| 46 | $(CC) -Os -nostdlib -o $(OBJDIR)/$(TARGET).elf -L$(OBJDIR) -T$(LINKFILE) -Wl,-Map,$(OBJDIR)/$(TARGET).map |
| 47 | |
| 48 | |
| 49 | clean: |
| 50 | -rm -f $(OBJS) $(OBJDIR)/$(TARGET).asm \ |
| 51 | $(OBJDIR)/$(TARGET).bin \ |
| 52 | $(OBJDIR)/$(TARGET).elf \ |
| 53 | $(OBJDIR)/$(TARGET).map |