X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2FMakefile;h=4dc43e1cfd9b2f8e3f80804f2201d6b95134a881;hb=92c5980925e773c6e1d6775c50c9d86c77b84d23;hp=293f783c904840f97c8a6cc36a3c9fe1e1da6945;hpb=17e16b3110b4c5124b0707435e0427993d696545;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/Makefile b/Usermode/Libraries/libc.so_src/Makefile index 293f783c..4dc43e1c 100644 --- a/Usermode/Libraries/libc.so_src/Makefile +++ b/Usermode/Libraries/libc.so_src/Makefile @@ -1,46 +1,38 @@ -# AcessOS Basic C Library +# Acess2 Basic C Library # Makefile -CC = gcc -AS = nasm -RM = @rm -f -LD = ld -OBJDUMP = objdump -ACESSDIR = /home/hodgeja/Projects/Acess2 - -CPPFLAGS = -I$(ACESSDIR)/Usermode/include -CFLAGS = -Wall -fPIC -fno-builtin -fno-stack-protector $(CPPFLAGS) -ASFLAGS = -felf -LDFLAGS = -x -shared -soname libc.so.1 -Map map.txt -e SoMain -L$(ACESSDIR)/Usermode/Libraries -lacess - -OBJ_LIBC = heap.o stdlib.o stub.o env.o fileIO.o signals.o -BIN = ../libc.so.1 - -.PHONY: all clean - -all: $(BIN) $(OBJ_LIBC) - -clean: - $(RM) $(BIN) $(OBJ_LIBC) - -# Core C Library -$(BIN): $(OBJ_LIBC) - @echo --- ld -shared -o $@ - @$(LD) $(LDFLAGS) $(OBJ_LIBC) -o $@ - $(OBJDUMP) -d $@ > libc.so.1.dsm - $(OBJDUMP) -x -r -R $@ > libc.so.1.dmp - cp ../libc.so.1 ../libc.so - cp ../libc.so.1 /mnt/AcessHDD/Acess2/Libs/ - -# C Runtime 0 -../crt0.o: crt0.asm - @echo --- $(AS) -o $@ - @$(AS) $(ASFLAGS) -o $@ $< - -$(filter %.o, $(OBJ_LIBC)): %.o: %.c config.h - @echo --- $(CC) -o $@ - @$(CC) $(CFLAGS) -DBUILD_SO -o $@ -c $< - -$(filter %.ao, $(OBJ_LIBC)): %.ao: %.asm - @echo --- $(AS) -o $@ - @$(AS) $(ASFLAGS) -o $@ $< +-include ../Makefile.cfg + +CPPFLAGS += +CFLAGS += -nostdlib -Wall -Werror -Wextra +ASFLAGS += +LDFLAGS += -nostdlib +PRELINK := $(CRTI) $(CRTBEGINS) $(CRTS) +LIBS += $(LIBGCC_PATH) $(CRTENDS) $(CRTN) + +INCFILES := stdio.h stdlib.h + +OBJ = stub.o heap.o stdlib.o env.o string.o rand.o +OBJ += scanf.o signals.o strtoi.o strtof.o +OBJ += printf.o time.o timeconv.o errno.o ctype.o +OBJ += stdio.o stdio_files.o +OBJ += arch/$(ARCHDIR).ao +# signals.o +DEPFILES := $(OBJ:%.o=%.d) +BIN = libc.so +ifeq ($(ARCHDIR),native) + OBJ := $(filter-out heap.o,$(OBJ)) heap_native.o + #LDFLAGS += -l c + BIN = libc_acess.so +endif + +include ../Makefile.tpl + +EXP_%.txt: TEST_%.native + ./$< > $@ + rm $< +EXP_strtoi.txt: + echo -n "" > $@ + +%.native: %.c + $(NCC) $< -o $@ -Wall -std=gnu99