|
@@ -36,6 +36,12 @@ else
|
|
CRTOBJS="../../lib/crt0.o"
|
|
CRTOBJS="../../lib/crt0.o"
|
|
endif
|
|
endif
|
|
|
|
|
|
|
|
+ifeq ($(strip $(ADD_LIBGCC_FUNCTIONS)),y)
|
|
|
|
+LIBGCC_NEED=./tmp/libgcc-need.a
|
|
|
|
+else
|
|
|
|
+LIBGCC=
|
|
|
|
+endif
|
|
|
|
+
|
|
DIRS = misc pwd_grp stdio string termios inet signal stdlib sysdeps unistd
|
|
DIRS = misc pwd_grp stdio string termios inet signal stdlib sysdeps unistd
|
|
|
|
|
|
# Check if the target architecture has a version script for
|
|
# Check if the target architecture has a version script for
|
|
@@ -54,17 +60,11 @@ ar-target:
|
|
$(LIBNAME): subdirs ar-target
|
|
$(LIBNAME): subdirs ar-target
|
|
|
|
|
|
|
|
|
|
-shared: $(TOPDIR)lib/$(LIBNAME)
|
|
+shared: $(TOPDIR)lib/$(LIBNAME) $(LIBGCC_NEED)
|
|
- @rm -rf tmp
|
|
|
|
- @mkdir tmp
|
|
|
|
- $(AR) rv ./tmp/libgcc-need.a
|
|
|
|
- @(cd tmp && CC=$(CC) LD=$(LD) LDFLAGS=$(CPU_LDFLAGS-y) NM=$(NM) AR=$(AR) \
|
|
|
|
- LIBGCC=$(LIBGCC) CRTOBJS=$(CRTOBJS) \
|
|
|
|
- /bin/sh $(TOPDIR)../extra/scripts/get-needed-libgcc-objects.sh)
|
|
|
|
$(LD) $(LDFLAGS) $(VERSION_SCRIPT) -soname=$(SHARED_MAJORNAME) -o $(SHARED_FULLNAME) \
|
|
$(LD) $(LDFLAGS) $(VERSION_SCRIPT) -soname=$(SHARED_MAJORNAME) -o $(SHARED_FULLNAME) \
|
|
- --whole-archive ./tmp/libgcc-need.a $(LIBNAME) --no-whole-archive \
|
|
+ --whole-archive $(LIBGCC_NEED) $(LIBNAME) \
|
|
- -init __uClibc_init $(TOPDIR)/libc/misc/internals/interp.o \
|
|
+ $(TOPDIR)/libc/misc/internals/interp.o --no-whole-archive \
|
|
- $(LIBGCC)
|
|
+ -init __uClibc_init $(LIBGCC)
|
|
@true #rm -rf tmp
|
|
@true #rm -rf tmp
|
|
install -d $(TOPDIR)lib
|
|
install -d $(TOPDIR)lib
|
|
rm -f $(TOPDIR)lib/$(SHARED_FULLNAME)
|
|
rm -f $(TOPDIR)lib/$(SHARED_FULLNAME)
|
|
@@ -72,6 +72,13 @@ shared: $(TOPDIR)lib/$(LIBNAME)
|
|
(cd ../lib && ln -sf $(SHARED_FULLNAME) libc.so);
|
|
(cd ../lib && ln -sf $(SHARED_FULLNAME) libc.so);
|
|
(cd ../lib && ln -sf $(SHARED_FULLNAME) $(SHARED_MAJORNAME));
|
|
(cd ../lib && ln -sf $(SHARED_FULLNAME) $(SHARED_MAJORNAME));
|
|
|
|
|
|
|
|
+$(LIBGCC_NEED): $(TOPDIR)lib/$(LIBNAME)
|
|
|
|
+ @rm -rf tmp
|
|
|
|
+ @mkdir tmp
|
|
|
|
+ $(AR) rv $@
|
|
|
|
+ @(cd tmp && CC=$(CC) LD=$(LD) LDFLAGS=$(CPU_LDFLAGS-y) NM=$(NM) AR=$(AR) \
|
|
|
|
+ LIBGCC=$(LIBGCC) CRTOBJS=$(CRTOBJS) \
|
|
|
|
+ /bin/sh $(TOPDIR)../extra/scripts/get-needed-libgcc-objects.sh)
|
|
|
|
|
|
halfclean:
|
|
halfclean:
|
|
@rm -f $(LIBNAME) uClibc_config.h
|
|
@rm -f $(LIBNAME) uClibc_config.h
|