version 1.55, 2001/06/18 20:57:10
|
version 1.56, 2001/06/21 14:22:47
|
Line 48 CROSS=
|
Line 48 CROSS=
|
|
|
CC=gcc |
CC=gcc |
|
|
VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:librpc:libregex:syscalls.c |
VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:libdl:librpc:libregex:syscalls.c |
|
|
SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S)) |
SYSCALLOBJ=$(patsubst syscalls.s/%.S,$(OBJDIR)/%.o,$(wildcard syscalls.s/*.S)) |
|
|
Line 62 LIBSHELLOBJ=$(patsubst libshell/%.c,$(OB
|
Line 62 LIBSHELLOBJ=$(patsubst libshell/%.c,$(OB
|
LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c)) |
LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c)) |
LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c)) |
LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c)) |
|
|
|
LIBDLOBJ=$(patsubst libdl/%.c,$(OBJDIR)/%.o,$(wildcard libdl/*.c)) $(OBJDIR)/_dl_jump.o |
|
|
LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o |
LIBPTHREAD_OBJS=$(patsubst libpthread/%.c,$(OBJDIR)/%.o,$(shell ./threadsafe.sh)) $(OBJDIR)/__testandset.o |
|
|
include $(ARCH)/Makefile.add |
include $(ARCH)/Makefile.add |
Line 118 $(OBJDIR)/libpthread.a: $(LIBPTHREAD_OBJ
|
Line 120 $(OBJDIR)/libpthread.a: $(LIBPTHREAD_OBJ
|
$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a |
$(OBJDIR)/libdietc.so: $(OBJDIR)/dietlibc.a |
$(CROSS)ld -whole-archive -shared -o $@ $^ |
$(CROSS)ld -whole-archive -shared -o $@ $^ |
|
|
|
# added dynamic linker |
|
$(OBJDIR)/libdl.a: $(LIBDLOBJ) |
|
$(CROSS)ar cru $@ $(LIBDLOBJ) |
|
|
|
dynlinker/diet-linux.so: $(OBJDIR)/libdl.a |
|
make -C dynlinker |
|
|
|
# added real dynamic dietlibc.so |
|
PICODIR = pic-$(ARCH) |
|
|
|
$(PICODIR): |
|
mkdir $@ |
|
|
|
dyn_lib: $(PICODIR)/libdietc.so $(PICODIR)/start.o $(PICODIR)/libpthread.so |
|
|
|
$(PICODIR)/%.o: %.S |
|
$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ |
|
|
|
$(PICODIR)/pthread_%.o: libpthread/pthread_%.c |
|
$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ |
|
$(COMMENT) $(CROSS)strip -x -R .comment -R .note $@ |
|
|
|
$(PICODIR)/%.o: %.c |
|
$(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -fPIC -D__DYN_LIB -c $< -o $@ |
|
$(COMMENT) $(CROSS)strip -x -R .comment -R .note $@ |
|
|
|
$(PICODIR)/start.o: start.S |
|
|
|
DYN_LIBC_PIC = $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \ |
|
$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) |
|
|
|
DYN_LIBC_OBJ = $(PICODIR)/dyn_syscalls.o \ |
|
$(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(DYN_LIBC_PIC)) |
|
|
|
DYN_PTHREAD_OBJS = $(patsubst $(OBJDIR)/%.o,$(PICODIR)/%.o,$(LIBPTHREAD_OBJS)) |
|
|
|
$(PICODIR)/libdietc.so: $(PICODIR) $(DYN_LIBC_OBJ) |
|
$(CROSS)$(CC) -nostdlib -shared -o $@ $(DYN_LIBC_OBJ) -lgcc |
|
|
|
$(PICODIR)/libpthread.so: $(DYN_PTHREAD_OBJS) dietfeatures.h |
|
$(CROSS)$(CC) -nostdlib -shared -o $@ $(DYN_PTHREAD_OBJS) -L$(PICODIR) -ldietc |
|
|
|
|
$(SYSCALLOBJ): syscalls.h |
$(SYSCALLOBJ): syscalls.h |
|
|
$(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c |
$(OBJDIR)/elftrunc: $(OBJDIR)/diet contrib/elftrunc.c |
Line 139 $(OBJDIR)/load:
|
Line 184 $(OBJDIR)/load:
|
|
|
clean: |
clean: |
rm -f *.o *.a t t1 compile load elftrunc exports mapfile libdietc.so |
rm -f *.o *.a t t1 compile load elftrunc exports mapfile libdietc.so |
rm -rf bin-* |
rm -rf bin-* pic-* |
$(MAKE) -C examples clean |
$(MAKE) -C examples clean |
|
|
tar: clean |
tar: clean |