1.1 --- a/Makefile Fri Jun 05 19:07:33 2015 +0200
1.2 +++ b/Makefile Fri Jun 05 19:34:16 2015 +0200
1.3 @@ -32,35 +32,42 @@
1.4 -ffreestanding -fno-hosted -fno-builtin \
1.5 -march=mips32 -mno-abicalls \
1.6 -Iinclude -I$(ASM_INC) -I$(ASM_INC)/asm/mach-generic
1.7 -LDFLAGS = -nostdlib -EL -T target.ld
1.8 +LDFLAGS = -nostdlib -EL
1.9
1.10 -PAYLOAD = stage1.bin
1.11 +PAYLOAD = stage1.bin stage2.bin
1.12 TARGET = $(PAYLOAD:.bin=.elf)
1.13 DUMP = $(PAYLOAD:.bin=.dump)
1.14 MAP = $(PAYLOAD:.bin=.map)
1.15 -SRC = head.S stage1.c board-nanonote.c
1.16 -OBJ = $(filter %.o,$(SRC:.c=.o) $(SRC:.S=.o))
1.17 +
1.18 +SRC1 = head1.S stage1.c board-nanonote.c
1.19 +SRC2 = head2.S stage2.c board-nanonote.c
1.20 +OBJ1 = $(filter %.o,$(SRC1:.c=.o) $(SRC1:.S=.o))
1.21 +OBJ2 = $(filter %.o,$(SRC2:.c=.o) $(SRC2:.S=.o))
1.22 +OBJ = $(OBJ1) $(OBJ2)
1.23
1.24 .PHONY: all clean distclean
1.25
1.26 all: $(PAYLOAD)
1.27
1.28 clean:
1.29 - rm -f $(OBJ) $(TARGET) $(PAYLOAD) $(DUMP) $(MAP) System.map
1.30 + rm -f $(OBJ) $(TARGET) $(PAYLOAD) $(DUMP) $(MAP) #System.map
1.31
1.32 distclean: clean
1.33 echo "Nothing else to clean."
1.34
1.35 $(PAYLOAD): $(TARGET)
1.36 - $(OBJCOPY) -O binary $< $@+
1.37 - $(OBJDUMP) -D $< > $(DUMP)
1.38 - $(OBJDUMP) -h $< > $(MAP)
1.39 - $(NM) -n $< > System.map
1.40 + $(OBJCOPY) -O binary $(@:.bin=.elf) $@+
1.41 + $(OBJDUMP) -D $(@:.bin=.elf) > $(@:.bin=.dump)
1.42 + $(OBJDUMP) -h $(@:.bin=.elf) > $(@:.bin=.map)
1.43 + #$(NM) -n $< > System.map
1.44 chmod -x $@+
1.45 mv -f $@+ $@
1.46
1.47 -$(TARGET): $(OBJ)
1.48 - $(LD) $(LDFLAGS) $(OBJ) -o $@
1.49 +stage1.elf: $(OBJ1)
1.50 + $(LD) $(LDFLAGS) -T $(@:.elf=.ld) $(OBJ1) -o $@
1.51 +
1.52 +stage2.elf: $(OBJ2)
1.53 + $(LD) $(LDFLAGS) -T $(@:.elf=.ld) $(OBJ2) -o $@
1.54
1.55 .c.o:
1.56 $(CC) -c $(CFLAGS) $< -o $@