From 09991740efa2661c8184df0bfb813fa82cb85081 Mon Sep 17 00:00:00 2001 From: Laurent Vivier Date: Fri, 2 Feb 2007 22:12:48 +0000 Subject: [PATCH] Add bootstrap section in main.o and copy it to second.o --- second/Makefile | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/second/Makefile b/second/Makefile index 9e98a71..3267446 100644 --- a/second/Makefile +++ b/second/Makefile @@ -51,7 +51,7 @@ SOURCES_M68K = $(SOURCES_MMU) $(SOURCES_noMMU) OBJS_M68K = $(patsubst %.c,%.o,$(SOURCES_M68K:.S=.o)) -SOURCES_PPC = switch_to_PPC.S bootstrapPPC.S +SOURCES_PPC = switch_to_PPC.S OBJS_PPC = $(patsubst %.c,%.o,$(SOURCES_PPC:.S=.o)) @@ -127,21 +127,38 @@ $(TARGET)-$(MEDIA)/second:: VERSION=$(VERSION) \ TOP=$(TOP) \ OBJCOPY=$(OBJCOPY) LD=$(LD) CC=$(CC) \ - AS=$(AS) SIGNATURE="$(SIGNATURE)" \ + AS=$(AS) PPC_OBJCOPY=$(PPC_OBJCOPY) \ + PPC_CC=$(PPC_CC) \ + SIGNATURE="$(SIGNATURE)" \ OPT_CPPFLAGS="$(CPPFLAGS_TARGET) $(CPPFLAGS_MEDIA)" \ OPT_CFLAGS="$(CFLAGS_TARGET)" \ OPTOBJS="$(OBJS_TARGET) $(OBJS_MEDIA)" \ OPT_LIBS="$(LIBS_MEDIA)" + +ifeq ("$(TARGET)", "ppc-linux") +bootstrapPPC.o: bootstrapPPC.S + $(PPC_CC) $(CPPFLAGS) -c $(TOP)/bootstrapPPC.S -o bootstrapPPC.o +bootstrap: bootstrapPPC.o + $(PPC_OBJCOPY) -j .text -j .data -j .rodata \ + -O binary bootstrapPPC.o bootstrap + +second: second.o bootstrap + $(OBJCOPY) -j .text -j .data -j .rodata -j .got -j .bootstrap \ + -O binary second.o second + +second.o: $(OBJS) $(TOP)/ld.script + $(OBJCOPY) --add-section .bootstrap=bootstrap main.o + $(LD) -T $(TOP)/ld.script -o second.o $(OBJS) $(LIBS) + +else second: second.o $(OBJCOPY) -j .text -j .data -j .rodata -j .got \ -O binary second.o second second.o: $(OBJS) $(TOP)/ld.script $(LD) -T $(TOP)/ld.script -o second.o $(OBJS) $(LIBS) - -bootstrapPPC.o: bootstrapPPC.S - $(PPC_CC) $(CPPFLAGS) -c $(TOP)/bootstrapPPC.S -o bootstrapPPC.o +endif .c.o: $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $^