mirror of git://git.musl-libc.org/musl
add support for arch-provided replacement files as .c or .S
previously, replacement files provided in $(ARCH) dirs under src/ had to be .s files. in order to replace a file with C source, an empty .s file was needed there to suppress the original file, and a separate .c file was needed in arch/$(ARCH)/src/. support for .S is new and is aimed at short-term use eliminating .sub files. asm source files are still expected not to make any heavy preprocessor use, just simple conditionals on subarch. eventually most affected files may be replaced with C source files with minimal inline asm instead of asm source files.
This commit is contained in:
parent
53f41fb568
commit
9f5eb77992
12
Makefile
12
Makefile
|
@ -18,9 +18,9 @@ libdir = $(prefix)/lib
|
|||
syslibdir = /lib
|
||||
|
||||
BASE_SRCS = $(sort $(wildcard $(srcdir)/src/*/*.c $(srcdir)/arch/$(ARCH)/src/*.c))
|
||||
BASE_OBJS = $(patsubst $(srcdir)/%.c,%.o,$(BASE_SRCS))
|
||||
ARCH_SRCS = $(wildcard $(srcdir)/src/*/$(ARCH)/*.s $(srcdir)/src/*/$(ARCH)$(ASMSUBARCH)/*.sub)
|
||||
ARCH_OBJS = $(patsubst $(srcdir)/%.sub,%.o,$(patsubst $(srcdir)/%.s,%.o,$(ARCH_SRCS)))
|
||||
BASE_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(BASE_SRCS)))
|
||||
ARCH_SRCS = $(wildcard $(srcdir)/src/*/$(ARCH)/*.[csS] $(srcdir)/src/*/$(ARCH)$(ASMSUBARCH)/*.sub)
|
||||
ARCH_OBJS = $(patsubst $(srcdir)/%,%.o,$(basename $(ARCH_SRCS)))
|
||||
REPLACED_OBJS = $(sort $(subst /$(ARCH)$(ASMSUBARCH)/,/,$(subst /$(ARCH)/,/,$(ARCH_OBJS))) $(subst /$(ARCH)$(ASMSUBARCH)/,/$(ARCH)/,$(subst /$(ARCH)/,/,$(ARCH_OBJS))))
|
||||
OBJS = $(addprefix obj/, $(filter-out $(REPLACED_OBJS), $(sort $(BASE_OBJS) $(ARCH_OBJS))))
|
||||
LOBJS = $(OBJS:.o=.lo)
|
||||
|
@ -152,6 +152,9 @@ obj/%.o: $(srcdir)/%.sub
|
|||
obj/%.o: $(srcdir)/%.s
|
||||
$(AS_CMD) $(CFLAGS_ALL_STATIC)
|
||||
|
||||
obj/%.o: $(srcdir)/%.S
|
||||
$(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
|
||||
|
||||
obj/%.o: $(srcdir)/%.c $(GENH) $(IMPH)
|
||||
$(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
|
||||
|
||||
|
@ -161,6 +164,9 @@ obj/%.lo: $(srcdir)/%.sub
|
|||
obj/%.lo: $(srcdir)/%.s
|
||||
$(AS_CMD) $(CFLAGS_ALL_SHARED)
|
||||
|
||||
obj/%.lo: $(srcdir)/%.S
|
||||
$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
|
||||
|
||||
obj/%.lo: $(srcdir)/%.c $(GENH) $(IMPH)
|
||||
$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
|
||||
|
||||
|
|
Loading…
Reference in New Issue