X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=Makefile;h=21a2c8d64578c5f24b41ce266c624e9948f1e559;hp=2265fce43958582282ae1c4d92cde5490be9af01;hb=cfc09b1ecf0c6981494fd73dffe234416f66af10;hpb=d76eafcbdc099abfc1b6d09829349f01c0bfcacf diff --git a/Makefile b/Makefile index 2265fce4..21a2c8d6 100644 --- a/Makefile +++ b/Makefile @@ -20,14 +20,16 @@ SRCS = $(sort $(wildcard src/*/*.c)) OBJS = $(SRCS:.c=.o) LOBJS = $(OBJS:.o=.lo) GENH = include/bits/alltypes.h +IMPH = src/internal/stdio_impl.h src/internal/pthread_impl.h src/internal/libc.h LDFLAGS = +LIBCC = -lgcc CPPFLAGS = CFLAGS = -Os -pipe CFLAGS_C99FSE = -std=c99 -ffreestanding -nostdinc CFLAGS_ALL = $(CFLAGS_C99FSE) -CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I./src/internal -I./include -I./arch/$(ARCH) +CFLAGS_ALL += -D_XOPEN_SOURCE=700 -I./arch/$(ARCH) -I./src/internal -I./include CFLAGS_ALL += $(CPPFLAGS) $(CFLAGS) CFLAGS_ALL_STATIC = $(CFLAGS_ALL) CFLAGS_ALL_SHARED = $(CFLAGS_ALL) -fPIC -DSHARED -O3 @@ -39,7 +41,7 @@ ALL_INCLUDES = $(sort $(wildcard include/*.h include/*/*.h) $(GENH)) EMPTY_LIB_NAMES = m rt pthread crypt util xnet resolv dl EMPTY_LIBS = $(EMPTY_LIB_NAMES:%=lib/lib%.a) -CRT_LIBS = lib/crt1.o lib/crti.o lib/crtn.o +CRT_LIBS = lib/crt1.o lib/Scrt1.o lib/crti.o lib/crtn.o STATIC_LIBS = lib/libc.a SHARED_LIBS = lib/libc.so TOOL_LIBS = lib/musl-gcc.specs @@ -52,7 +54,7 @@ LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH).so.1 all: $(ALL_LIBS) $(ALL_TOOLS) -install: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(ALL_INCLUDES:include/%=$(DESTDIR)$(includedir)/%) $(ALL_TOOLS:tools/%=$(DESTDIR)$(bindir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),) +install: install-libs install-headers install-tools clean: rm -f crt/*.o @@ -75,22 +77,24 @@ include/bits/alltypes.h.sh: include/bits include/bits/alltypes.h: include/bits/alltypes.h.sh sh $< > $@ +src/ldso/dynlink.lo: arch/$(ARCH)/reloc.h + %.o: $(ARCH)/%.s $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $< -%.o: %.c $(GENH) +%.o: %.c $(GENH) $(IMPH) $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $< %.lo: $(ARCH)/%.s $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $< -%.lo: %.c $(GENH) +%.lo: %.c $(GENH) $(IMPH) $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $< lib/libc.so: $(LOBJS) $(CC) $(CFLAGS_ALL_SHARED) $(LDFLAGS) -nostdlib -shared \ -Wl,-e,_start -Wl,-Bsymbolic-functions \ - -Wl,-soname=libc.so -o $@ $(LOBJS) -lgcc + -Wl,-soname=libc.so -o $@ $(LOBJS) $(LIBCC) lib/libc.a: $(OBJS) rm -f $@ @@ -123,10 +127,20 @@ $(DESTDIR)$(libdir)/%: lib/% $(DESTDIR)$(includedir)/%: include/% install -D -m 644 $< $@ -$(DESTDIR)$(LDSO_PATHNAME): lib/libc.so - install -d -m 755 $(DESTDIR)$(syslibdir) || true +$(DESTDIR)$(LDSO_PATHNAME): $(DESTDIR)$(syslibdir) ln -sf $(libdir)/libc.so $@ || true +$(DESTDIR)$(syslibdir): + install -d -m 755 $(DESTDIR)$(syslibdir) + +install-libs: $(ALL_LIBS:lib/%=$(DESTDIR)$(libdir)/%) $(if $(SHARED_LIBS),$(DESTDIR)$(LDSO_PATHNAME),) + +install-headers: $(ALL_INCLUDES:include/%=$(DESTDIR)$(includedir)/%) + +install-tools: $(ALL_TOOLS:tools/%=$(DESTDIR)$(bindir)/%) + + + .PRECIOUS: $(CRT_LIBS:lib/%=crt/%) -.PHONY: all clean install +.PHONY: all clean install install-libs install-headers install-tools