import from github
This commit is contained in:
118
agbcc/libc/Makefile
Normal file
118
agbcc/libc/Makefile
Normal file
@ -0,0 +1,118 @@
|
||||
ifneq (,$(DEVKITARM))
|
||||
ifneq (,$(wildcard $(DEVKITARM)/bin))
|
||||
include $(DEVKITARM)/base_tools
|
||||
DKA_EXISTS=1
|
||||
else
|
||||
DKA_EXISTS=0
|
||||
endif
|
||||
else
|
||||
DKA_EXISTS=0
|
||||
endif
|
||||
|
||||
ifneq ($(DKA_EXISTS),1)
|
||||
PREFIX := arm-none-eabi-
|
||||
export AR := $(PREFIX)ar
|
||||
export AS := $(PREFIX)as
|
||||
endif
|
||||
|
||||
SHELL := /bin/bash -o pipefail
|
||||
|
||||
ASFLAGS := -mcpu=arm7tdmi
|
||||
|
||||
CC1 := ../old_agbcc
|
||||
CFLAGS := -O2 -fno-builtin
|
||||
|
||||
CPPFLAGS := -I ../ginclude -I include -nostdinc -undef \
|
||||
-DABORT_PROVIDED -DHAVE_GETTIMEOFDAY -D__thumb__ -DARM_RDI_MONITOR \
|
||||
-D__GNUC__ -DINTERNAL_NEWLIB -D__USER_LABEL_PREFIX__=
|
||||
|
||||
|
||||
# Clear the default suffixes.
|
||||
.SUFFIXES:
|
||||
|
||||
# Secondary expansion is required for dependency variables in object rules.
|
||||
.SECONDEXPANSION:
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
C_SRCS := $(shell find . -iname "*.c" -a ! -iname "mallocr.c")
|
||||
C_INTRS := $(C_SRCS:%.c=%.i)
|
||||
C_OBJS := $(C_SRCS:%.c=%.o) \
|
||||
stdlib/mallocr.o stdlib/freer.o stdlib/reallocr.o stdlib/callocr.o \
|
||||
stdlib/cfreer.o stdlib/malignr.o stdlib/vallocr.o stdlib/pvallocr.o \
|
||||
stdlib/mallinfor.o stdlib/mallstatsr.o stdlib/msizer.o stdlib/malloptr.o \
|
||||
stdio/vfiprintf.o
|
||||
|
||||
S_SRCS := arm/setjmp.s arm/trap.s
|
||||
S_OBJS := $(S_SRCS:%.s=%.o)
|
||||
|
||||
OBJS := $(C_OBJS) $(S_OBJS)
|
||||
|
||||
all: libc.a
|
||||
@:
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS)
|
||||
rm -f $(C_OBJS:%.o=%.i)
|
||||
rm -f $(C_OBJS:%.o=%.s)
|
||||
rm -f $(S_OBJS:%.o=%.i)
|
||||
rm -f libc.a
|
||||
|
||||
PREPROCESS := $(CPP) $(CPPFLAGS)
|
||||
|
||||
stdlib/mallocr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MALLOC $< -o $@
|
||||
|
||||
stdlib/freer.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_FREE $< -o $@
|
||||
|
||||
stdlib/reallocr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_REALLOC $< -o $@
|
||||
|
||||
stdlib/callocr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_CALLOC $< -o $@
|
||||
|
||||
stdlib/cfreer.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_CFREE $< -o $@
|
||||
|
||||
stdlib/malignr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MEMALIGN $< -o $@
|
||||
|
||||
stdlib/vallocr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_VALLOC $< -o $@
|
||||
|
||||
stdlib/pvallocr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_PVALLOC $< -o $@
|
||||
|
||||
stdlib/mallinfor.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MALLINFO $< -o $@
|
||||
|
||||
stdlib/mallstatsr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MALLOC_STATS $< -o $@
|
||||
|
||||
stdlib/msizer.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MALLOC_USABLE_SIZE $< -o $@
|
||||
|
||||
stdlib/malloptr.i: stdlib/mallocr.c
|
||||
$(PREPROCESS) -DDEFINE_MALLOPT $< -o $@
|
||||
|
||||
stdio/vfiprintf.i: stdio/vfprintf.c
|
||||
$(PREPROCESS) -DINTEGER_ONLY $< -o $@
|
||||
|
||||
$(C_INTRS): %.i : %.c
|
||||
$(PREPROCESS) $< -o $@
|
||||
|
||||
stdlib/mbtowc_r.o: CFLAGS := $(CFLAGS) -fshort-enums
|
||||
|
||||
$(C_OBJS): %.o : %.i
|
||||
@$(CC1) $(CFLAGS) $< -o $*.s
|
||||
@printf ".text\n\t.align\t2, 0\n" >> $*.s
|
||||
$(AS) $(ASFLAGS) -o $@ $*.s
|
||||
|
||||
$(S_OBJS): %.o: %.s
|
||||
@$(CPP) $(CPPFLAGS) $< -o $*.i
|
||||
@printf ".text\n\t.align\t2, 0\n" >> $*.i
|
||||
$(AS) $(ASFLAGS) -o $@ $*.i
|
||||
|
||||
libc.a: $(OBJS)
|
||||
$(AR) -rc libc.a $(OBJS)
|
Reference in New Issue
Block a user