OpenCores
URL https://opencores.org/ocsvn/minsoc/minsoc/trunk

Subversion Repositories minsoc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /minsoc/trunk/sw/support
    from Rev 74 to Rev 80
    Reverse comparison

Rev 74 → Rev 80

/common.mk File deleted
common.mk Property changes : Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Index: reset.S =================================================================== --- reset.S (revision 74) +++ reset.S (revision 80) @@ -1,6 +1,6 @@ /* Support file for c based tests */ #include "or1200.h" -#include "../../backend/board.h" +#include .section .stack .space STACK_SIZE
/Makefile.inc
7,19 → 7,7
DRIVERS_DIR := $(ROOTDIR)/drivers
UTILS_DIR := $(ROOTDIR)/utils
 
OR1200_HDR := $(SUPPORT_DIR)/or1200.h
BOARD_HDR := $(BACKEND_DIR)/board.h
SUPPORT_HDR := $(SUPPORT_DIR)/support.h
UART_HDR := $(DRIVERS_DIR)/uart.h
ETH_HDR := $(DRIVERS_DIR)/eth.h
 
RESET_NOCACHE := $(SUPPORT_DIR)/reset-nocache.o
RESET_ICDC := $(SUPPORT_DIR)/reset-icdc.o
 
EXCPT_HNDLR := $(SUPPORT_DIR)/except.o
LIB_SUPPORT := $(SUPPORT_DIR)/libsupport.a
 
SUPPORT := $(EXCPT_HNDLR) $(LIB_SUPPORT)
SUPPORT := $(SUPPORT_DIR)/libsupport.a
DRIVERS := $(DRIVERS_DIR)/libdrivers.a
 
LINKER_SCRIPT := $(BACKEND_DIR)/orp.ld
26,17 → 14,8
 
OR32_TOOL_PREFIX=or32-elf
 
include ../../backend/gcc-opt.mk
 
BIN2HEX = $(UTILS_DIR)/bin2hex
 
ifdef UART_PRINTF
GCC_OPT += -DUART_PRINTF
endif
 
all: all_internal
 
# Global clean rule
clean:
@echo "Cleaning `pwd`"
@rm -f *.o *.or32 *.log *.bin *.srec *.hex *.log stdout.txt *.vmem *.asm *.a stdout.txt
/Makefile
1,5 → 1,135
include Makefile.inc
include ../support/Makefile.inc
include $(BACKEND_DIR)/gcc-opt.mk
 
all_internal: $(RESET_NOCACHE) $(RESET_ICDC) $(EXCPT_HNDLR) $(LIB_SUPPORT)
#USER INPUT
SRCS = reset.S except.S tick.c support.c int.c
OR32_TARGET =
TARGET =
TARGETLIB = support
MODEL = static #dynamic|static
VERSION = 0.1
MODE = debug #release|debug
 
include common.mk
INCLUDEDIRS = $(BACKEND_DIR) $(DRIVERS_DIR)
#libsystemc or systemc (system ignores lib at the beginning)
LIBNAMES =
LIBDIRS =
DEPENDDIR = ./depend
 
 
#CONFIGURATION
DEBUGPARAM =
RELEASEPARAM =
 
DEBUGFLAGS = -g -O0
RELEASEFLAGS = -O2 -fomit-frame-pointer
 
CFLAGS = -Wall
CC = or32-elf-gcc
AR = or32-elf-ar
RANLIB = or32-elf-ranlib
 
CFLAGS += $(GCC_OPT)
 
 
#MECHANICS
INCLUDESPATH = $(addprefix -I, $(INCLUDEDIRS))
LIBSPATH = $(addprefix -L, $(LIBDIRS))
LIBSLINKAGE = $(addprefix -l, $(subst lib, , $(LIBNAMES)) )
COMMA = ,
RPATH = $(addprefix -Wl$(COMMA)-R, $(LIBDIRS))
 
OBJS = $(addsuffix .o, $(basename $(SRCS)))
DEPS = $(addprefix $(DEPENDDIR)/, $(addsuffix .d, $(basename $(SRCS) ) ) )
 
STATICLIB = $(addprefix lib, $(addsuffix .a, $(TARGETLIB) ) )
DYNAMICLIB = $(addprefix lib, $(addsuffix .so, $(TARGETLIB) ) )
SONAME = $(addsuffix .$(VERSION), $(DYNAMICLIB))
 
ifeq (debug,$(findstring debug, $(MODE)))
CFLAGS += $(DEBUGFLAGS) $(addprefix -D, $(DEBUGPARAM))
else
CFLAGS += $(RELEASEFLAGS) $(addprefix -D, $(RELEASEPARAM))
endif
 
ifdef TARGETLIB
ifeq (dynamic,$(findstring dynamic, $(MODEL)))
TARGET = $(DYNAMICLIB)
CFLAGS += -fPIC
else
TARGET = $(STATICLIB)
endif
endif
 
 
#MAKEFILE RULES
all: $(TARGET) $(OR32_TARGET)
 
depend: $(DEPS)
 
docs: Doxyfile
doxygen
 
distclean:
make clean
rm -rf $(DEPENDDIR) Doxygen
 
 
-include $(DEPS)
 
 
ifndef TARGETLIB
$(TARGET): $(OBJS)
$(CC) $(LIBSPATH) $(RPATH) -o $@ $^ $(LIBSLINKAGE)
endif
 
 
$(STATICLIB): $(OBJS)
$(AR) cru $@ $^
$(RANLIB) $@
 
$(DYNAMICLIB): $(OBJS)
$(CC) -shared -Wl,-soname,$(SONAME) -o $@ $^
ln -fs $@ $(SONAME)
 
 
%.o: %.c
$(CC) $(CFLAGS) $(INCLUDESPATH) -c $< -o $@
 
 
$(DEPENDDIR)/%.d: %.c
mkdir -p $(DEPENDDIR)
$(CC) $(INCLUDESPATH) -MM -MF $@ $<
 
 
# DO NOT DELETE
 
STEM = $(subst .hex, , $(OR32_TARGET))
BINARY = $(addsuffix .bin, $(STEM) )
EXECUTABLE = $(addsuffix .or32, $(STEM) )
 
$(OR32_TARGET): $(BINARY)
$(BIN2HEX) $? 1 -size_word > $@
 
$(BINARY): $(EXECUTABLE)
$(OR32_TOOL_PREFIX)-objcopy -O binary $? $@
 
#except.o and reset.o should be already inside of $(SUPPORT) (libsupport.a) but for some reason the compiler ignores that fact
#(e.g. or32-elf-objdump -t libsupport.a shows it)
$(EXECUTABLE): $(OBJS) ../support/except.o ../support/reset.o $(SUPPORT) $(DRIVERS)
$(CC) $(CFLAGS) $(GCC_LIB_OPTS) -T $(LINKER_SCRIPT) $^ -o $@
 
clean:
rm -f *.o *~ $(TARGET) $(STATICLIB) $(DYNAMICLIB) $(SONAME) $(OR32_TARGET) $(BINARY) $(EXECUTABLE)
 
#EOF
 
#SUPPORT SPECIFIC
 
%.o: %.S
$(CC) $(CFLAGS) $(INCLUDESPATH) -c -o $@ $<
 
reset.o: reset.S
$(CC) $(CFLAGS) $(INCLUDESPATH) -c -DIC=0 -DDC=0 -o $@ $<
 
#~SUPPORT SPECIFIC
/support.c
9,7 → 9,7
#include "int.h"
 
#ifdef UART_PRINTF
#include "../drivers/uart.h"
#include <uart.h>
#endif
 
#if OR32

powered by: WebSVN 2.1.0

© copyright 1999-2022 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.