mittos64-old/libc/Makefile

46 lines
858 B
Makefile

ifeq ($(MITTOS64),)
$(error Build environment is not activated. Please source activate)
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) $(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)) $(LIB_OBJ)
clean:
rm -rf obj/
.PHONY: all clean install