summaryrefslogtreecommitdiff
path: root/ldso/ldso/Makefile
blob: ae181bb0afc140aed48c00d525d78741c236c8b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
TOPDIR=../../
include $(TOPDIR)/ld.so-1/Rules.mak

CFLAGS += -DUSE_CACHE -fPIC -D__PIC__ #-DDL_DEBUG #-funroll-loops

CSRC= boot1.c hash.c readelflib1.c vsprintf.c $(TARGET_ARCH)/elfinterp.c
COBJS=$(patsubst %.c,%.o, $(CSRC))
ASRC=$(shell ls $(TARGET_ARCH)/*.S)
AOBJS=$(patsubst %.S,%.o, $(ASRC))
OBJS=$(AOBJS) $(COBJS)

ELF_LDFLAGS=--shared # using GNU ld

all: ld.so.h lib

ld.so.h:
	echo "char *_dl_progname = \""$(UCLIBC_LDSO)"\";" > ld.so.h

lib:: $(OBJS) $(DLINK_OBJS)
	$(LD) -e _dl_boot $(ELF_LDFLAGS) -o $(UCLIBC_LDSO) \
		-soname $(UCLIBC_LDSO) $(OBJS)

$(COBJS): %.o : %.c
	$(CC) -I. -I./$(TARGET_ARCH) -I../libdl $(CFLAGS) -c $< -o $@
	$(STRIPTOOL) -x -R .note -R .comment $*.o

realclean::
	$(RM) -f .depend $(UCLIBC_LDSO)* core *.o *.a *.s *.i tmp_make foo *~

clean::
	$(RM) -f $(UCLIBC_LDSO)* $(OBJS) core *.o *.a *.s *.i tmp_make foo *~