|
@@ -25,6 +25,13 @@ include $(TOPDIR)/config.mk
|
|
|
|
|
|
LIB = $(obj)lib$(ARCH).o
|
|
LIB = $(obj)lib$(ARCH).o
|
|
|
|
|
|
|
|
+## Build a couple of necessary functions into a private libgcc
|
|
|
|
+LIBGCC = $(obj)libgcc.o
|
|
|
|
+GLSOBJS += ashldi3.o
|
|
|
|
+GLSOBJS += ashrdi3.o
|
|
|
|
+GLSOBJS += lshrdi3.o
|
|
|
|
+LGOBJS := $(addprefix $(obj),$(GLSOBJS))
|
|
|
|
+
|
|
SOBJS-y +=
|
|
SOBJS-y +=
|
|
|
|
|
|
COBJS-y += board.o
|
|
COBJS-y += board.o
|
|
@@ -37,9 +44,22 @@ endif
|
|
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
|
|
SRCS := $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)
|
|
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
|
|
OBJS := $(addprefix $(obj),$(SOBJS-y) $(COBJS-y))
|
|
|
|
|
|
|
|
+# Always build libmips.o
|
|
|
|
+TARGETS := $(LIB)
|
|
|
|
+
|
|
|
|
+# Build private libgcc only when asked for
|
|
|
|
+ifdef USE_PRIVATE_LIBGCC
|
|
|
|
+TARGETS += $(LIBGCC)
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
+all: $(TARGETS)
|
|
|
|
+
|
|
$(LIB): $(obj).depend $(OBJS)
|
|
$(LIB): $(obj).depend $(OBJS)
|
|
$(call cmd_link_o_target, $(OBJS))
|
|
$(call cmd_link_o_target, $(OBJS))
|
|
|
|
|
|
|
|
+$(LIBGCC): $(obj).depend $(LGOBJS)
|
|
|
|
+ $(call cmd_link_o_target, $(LGOBJS))
|
|
|
|
+
|
|
#########################################################################
|
|
#########################################################################
|
|
|
|
|
|
# defines $(obj).depend target
|
|
# defines $(obj).depend target
|