this is working kind of correctly.
need to clean it up, get the different boards going and add in the lib build.
This commit is contained in:
parent
1759ff01a0
commit
4a77cb7d76
@ -7,18 +7,33 @@ include $(MC1322X)/board/Makefile.board
|
|||||||
|
|
||||||
include $(MC1322X)/libmc1322x/Makefile.lib
|
include $(MC1322X)/libmc1322x/Makefile.lib
|
||||||
|
|
||||||
|
# default start and isr
|
||||||
|
ifndef START
|
||||||
|
START = $(MC1322X)/src/start.o
|
||||||
|
endif
|
||||||
|
ifndef ISR
|
||||||
|
ISR = $(MC1322X)/src/isr.o
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
ARCH = arm
|
ARCH = arm
|
||||||
CPU = arm7tdmi-s
|
CPU = arm7tdmi-s
|
||||||
export ARCH CPU VENDOR
|
export ARCH CPU VENDOR
|
||||||
|
|
||||||
$(OBJDIR)/isr.o: isr.c
|
%.s: %.S
|
||||||
|
$(CPP) $(AFLAGS) -o $@ $(CURDIR)/$<
|
||||||
|
%.o: %.S
|
||||||
|
$(CC) $(AFLAGS) -c -o $@ $(CURDIR)/$<
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(CFLAGS) $(THUMB_FLAGS) -c -o $@ $<
|
||||||
|
|
||||||
|
$(ISR): $(ISR:.o=.c)
|
||||||
$(CC) $(CFLAGS) $(ARM_FLAGS) $< -c -o $@
|
$(CC) $(CFLAGS) $(ARM_FLAGS) $< -c -o $@
|
||||||
|
|
||||||
%.o: %.c
|
%.elf: $(START) $(ISR) %.o $(LINKERSCRIPT)
|
||||||
$(CC) $(CFLAGS) $(THUMB_FLAGS) $< -c
|
$(LD) $(LDFLAGS) $(AOBJS) \
|
||||||
|
--start-group $(PLATFORM_LIBS) --end-group \
|
||||||
$(OBJDIR)/%.o: %.c
|
$(filter %.o %.a,$+) -o $@
|
||||||
$(CC) $(CFLAGS) $(THUMB_FLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
find . -type f \
|
find . -type f \
|
||||||
|
12
config.mk
12
config.mk
@ -27,6 +27,8 @@ OBJCFLAGS += --gap-fill=0xff
|
|||||||
|
|
||||||
gccincdir := $(shell $(CC) -print-file-name=include)
|
gccincdir := $(shell $(CC) -print-file-name=include)
|
||||||
|
|
||||||
|
PLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
|
||||||
|
|
||||||
CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \
|
CPPFLAGS := $(DBGFLAGS) $(OPTFLAGS) $(RELFLAGS) \
|
||||||
-D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \
|
-D__KERNEL__ -DTEXT_BASE=$(TEXT_BASE) \
|
||||||
-fno-builtin -ffreestanding -nostdinc -isystem \
|
-fno-builtin -ffreestanding -nostdinc -isystem \
|
||||||
@ -37,7 +39,7 @@ CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wcast-align -Wcast-align
|
|||||||
AFLAGS_DEBUG := -Wa,-gstabs
|
AFLAGS_DEBUG := -Wa,-gstabs
|
||||||
AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
|
AFLAGS := $(AFLAGS_DEBUG) -D__ASSEMBLY__ $(CPPFLAGS)
|
||||||
|
|
||||||
LDFLAGS += -T $(LINKERSCRIPT) -nostartfiles -static -Wl,-Map=$@-$(BOARD).map,-export-dynamic
|
LDFLAGS += -T $(LINKERSCRIPT) -nostartfiles -static #-Wl,-Map=$*-$(BOARD).map,-export-dynamic
|
||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
@ -46,11 +48,3 @@ export TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
|
|||||||
|
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
%.s: %.S
|
|
||||||
$(CPP) $(AFLAGS) -o $@ $(CURDIR)/$<
|
|
||||||
%.o: %.S
|
|
||||||
$(CC) $(AFLAGS) -c -o $@ $(CURDIR)/$<
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) $(CFLAGS) $(THUMB_FLAGS) -c -o $@ $<
|
|
||||||
|
|
||||||
#########################################################################
|
|
||||||
|
@ -19,7 +19,7 @@ HEAP_SIZE = 1024;
|
|||||||
PROVIDE (__executable_start = 0x00400000); . = 0x00400000;
|
PROVIDE (__executable_start = 0x00400000); . = 0x00400000;
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
*startup.o (.text)
|
*start.o (.text)
|
||||||
*(.irq)
|
*(.irq)
|
||||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||||
|
Loading…
Reference in New Issue
Block a user