X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2FMakefile;h=64749b3b8c03eb5af66bb364fc605fc290f047e4;hb=db55040ba8814edf681d4ccc12ad8955d8aa404a;hp=fd186a9df2ab77871b62a975429d02e4355efa87;hpb=91dd38c34820c03311738439125675d59bf9e3f1;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/Makefile b/Usermode/Libraries/libc.so_src/Makefile index fd186a9d..64749b3b 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 string.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) $(CRT0S) +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