# Makefile for uClibc # # Copyright (C) 2000-2005 Erik Andersen # # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # # psm: I do not know if the order of includes is relevant # to be sure I have put them first CFLAGS:=-I$(top_builddir)ldso/include -I. $(CFLAGS) $(PICFLAG) $(SSP_DISABLE_FLAGS) CFLAGS+=-DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" ifeq ($(SUPPORT_LD_DEBUG),y) CFLAGS+=-D__SUPPORT_LD_DEBUG__ endif ifeq ($(SUPPORT_LD_DEBUG_EARLY),y) CFLAGS+=-D__SUPPORT_LD_DEBUG_EARLY__ endif CFLAGS+=-DNOT_IN_libc ifeq ($(DODEBUG),y) # Not really much point in including debugging info, since gdb # can't really debug ldso, since gdb requires help from ldso to # debug things.... # psm: keep this in sync w/ Rules.mak CFLAGS:=$(CFLAGS:-O0 -g3=-Os -g) endif # BEWARE!!! At least mips* will die if -O0 is used!!! ifeq ($(TARGET_ARCH),mips) CFLAGS:=$(CFLAGS:-O0=-O1) endif # This stuff will not work with -fomit-frame-pointer CFLAGS:=$(CFLAGS:-fomit-frame-pointer=) ifeq ($(SUPPORT_LD_DEBUG),y) LDFLAGS:=$(LDFLAGS_NOSTRIP) endif # can't combine .c w/ .S DOMULTI=n LIB_NAME:=ld-uClibc ld-uClibc_DIR:=$(top_srcdir)ldso/ldso ld-uClibc_OUT:=$(top_builddir)ldso/ldso ld-uClibc_SRC:=$(ld-uClibc_DIR)/ldso.c ld-uClibc_OBJ:=$(patsubst $(ld-uClibc_DIR)/%.c,$(ld-uClibc_OUT)/%.o,$(ld-uClibc_SRC)) ld-uClibc_SSRC:=$(wildcard $(ld-uClibc_DIR)/$(TARGET_ARCH)/*.S) ld-uClibc_SOBJ:=$(patsubst $(ld-uClibc_DIR)/$(TARGET_ARCH)/%.S,$(ld-uClibc_OUT)/$(TARGET_ARCH)/%.o,$(ld-uClibc_SSRC)) ld-uClibc_OBJS:=$(ld-uClibc_OBJ) $(ld-uClibc_SOBJ) EXTRA_LINK_OPTS:=-e _start -z now -Bsymbolic --export-dynamic --sort-common --discard-locals --discard-all --no-undefined EXTRA_LINK_LIBS:=$(LIBGCC) # $(LDADD_LIBFLOAT) ld-uClibc-so-$(HAVE_SHARED):=$(ld-uClibc_OBJS:.o=.os) objclean-y+=ld-uClibc_clean ld-uClibc_arch_clean ld-uClibc_arch_clean: $(RM) $(ld-uClibc_OUT)/*/*.{o,os} lib-so-$(HAVE_SHARED)+=$(top_builddir)lib/ld-uClibc.so