[TOOLCHAIN] Making musl portable
This commit is contained in:
@@ -3,26 +3,41 @@ ifeq ($(MITTOS64),)
|
||||
endif
|
||||
|
||||
LIBDIR := $(SYSROOT)/usr/lib
|
||||
LIBC := $(LIBDIR)/libc.a
|
||||
|
||||
CRT := crt0
|
||||
CRT_OBJ := $(addprefix obj/, $(patsubst %,%.o,$(CRT)))
|
||||
SRC := $(filter-out $(CRT).%, $(wildcard *.[cS]))
|
||||
OBJ := $(addprefix obj/, $(patsubst %,%.o, $(basename $(SRC))))
|
||||
|
||||
libfile := mittos64.o
|
||||
LIB_OBJ := $(LIBC)($(libfile))
|
||||
|
||||
CFLAGS := -Wall -Wextra -ggdb -O0
|
||||
ASFLAGS := -ggdb
|
||||
|
||||
all: $(CRT_OBJ)
|
||||
all: $(CRT_OBJ) $(OBJ)
|
||||
|
||||
OBJ_DIRS := $(sort $(dir $(CRT_OBJ)))
|
||||
OBJ_DIRS := $(sort $(dir $(CRT_OBJ) $(OBJ)))
|
||||
$(CRT_OBJ): | $(OBJ_DIRS)
|
||||
$(OBJ_DIRS):
|
||||
mkdir -p $@
|
||||
|
||||
obj/%.o:%.c
|
||||
$(COMPILE.c) $^ -o $@
|
||||
obj/%.o:%.S
|
||||
$(COMPILE.S) $^ -o $@
|
||||
obj/$(libfile):$(OBJ)
|
||||
$(LD) -r $^ -o $@
|
||||
|
||||
$(LIBC)(%):obj/%
|
||||
$(AR) -d $@ $<
|
||||
$(AR) -rs $@ $<
|
||||
|
||||
$(LIBDIR)/%: obj/%
|
||||
cp $< $@
|
||||
|
||||
install: $(patsubst %,$(LIBDIR)/%.o,$(CRT))
|
||||
install: $(patsubst %,$(LIBDIR)/%.o,$(CRT)) $(LIB_OBJ)
|
||||
|
||||
clean:
|
||||
rm -rf obj/
|
||||
|
||||
Reference in New Issue
Block a user