ALL_TOOLS = tools/musl-gcc
WRAPCC_GCC = gcc
+WRAPCC_CLANG = clang
LDSO_PATHNAME = $(syslibdir)/ld-musl-$(ARCH)$(SUBARCH).so.1
endef
$(foreach s,$(wildcard src/*/$(ARCH)*/*.s),$(eval $(call mkasmdep,$(s))))
+# Choose invocation of assembler to be used
+# $(1) is input file, $(2) is output file, $(3) is assembler flags
+ifeq ($(ADD_CFI),yes)
+ AS_CMD = LC_ALL=C awk -f tools/add-cfi.common.awk -f tools/add-cfi.$(ARCH).awk $< | $(CC) -x assembler -c -o $@ -
+else
+ AS_CMD = $(CC) -c -o $@ $<
+endif
+
%.o: $(ARCH)$(ASMSUBARCH)/%.sub
$(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $(dir $<)$(shell cat $<)
%.o: $(ARCH)/%.s
- $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
+ $(AS_CMD) $(CFLAGS_ALL_STATIC)
%.o: %.c $(GENH) $(IMPH)
$(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $(dir $<)$(shell cat $<)
%.lo: $(ARCH)/%.s
- $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
+ $(AS_CMD) $(CFLAGS_ALL_SHARED)
%.lo: %.c $(GENH) $(IMPH)
$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
printf '#!/bin/sh\nexec "$${REALGCC:-$(WRAPCC_GCC)}" "$$@" -specs "%s/musl-gcc.specs"\n' "$(libdir)" > $@
chmod +x $@
+tools/%-clang: tools/%-clang.in config.mak
+ sed -e 's!@CC@!$(WRAPCC_CLANG)!g' -e 's!@PREFIX@!$(prefix)!g' -e 's!@INCDIR@!$(includedir)!g' -e 's!@LIBDIR@!$(libdir)!g' -e 's!@LDSO@!$(LDSO_PATHNAME)!g' $< > $@
+ chmod +x $@
+
$(DESTDIR)$(bindir)/%: tools/%
$(INSTALL) -D $< $@
musl-%.tar.gz: .git
git archive --format=tar.gz --prefix=$(patsubst %.tar.gz,%,$@)/ -o $@ v$(patsubst musl-%.tar.gz,%,$@)
-.PRECIOUS: $(CRT_LIBS:lib/%=crt/%)
-
.PHONY: all clean install install-libs install-headers install-tools