X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2FMakefile;h=78aac4bd7f7b548463a0c141719526357c3b374b;hb=5cab4c07bc13888dc7956194ef9595508072a4eb;hp=2d0051607143a795b506f38aa6e3c5c57a0cee6b;hpb=17e16b3110b4c5124b0707435e0427993d696545;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/Makefile b/Usermode/Libraries/ld-acess.so_src/Makefile index 2d005160..78aac4bd 100644 --- a/Usermode/Libraries/ld-acess.so_src/Makefile +++ b/Usermode/Libraries/ld-acess.so_src/Makefile @@ -1,41 +1,57 @@ -# Acess Dynamic Linker (ELF) Version 1 -# LD-ACESS.SO -# Makefile - -CC = gcc -AS = nasm -RM = @rm -f -LD = ld -OBJDUMP = objdump - -COBJ = main.o lib.o loadlib.o elf.o pe.o -AOBJ = helpers.ao -BIN = ../ld-acess.so - -CPPFLAGS = -I../../include -CFLAGS = -Wall -fno-builtin -fleading-underscore -fno-stack-protector -ASFLAGS = -felf -#LDFLAGS = --oformat elf32-i386 -Map map.txt -Bstatic -e _SoMain -shared -#LDFLAGS = --oformat elf32-i386 -Map map.txt -Bstatic -e _SoMain -Ttext 0xBFFFE000 -LDFLAGS = -T link.ld -Map map.txt -Bstatic - - -.PHONY: all clean - -all: $(BIN) - -clean: - $(RM) $(BIN) $(AOBJ) $(COBJ) - -$(BIN): $(AOBJ) $(COBJ) - $(LD) $(LDFLAGS) -o $(BIN) $(AOBJ) $(COBJ) > link.txt - $(OBJDUMP) -x $(BIN) > ld-acess.dmp - $(OBJDUMP) -d $(BIN) > ld-acess.dsm - cp $(BIN) /mnt/AcessHDD/Acess2/Libs - -$(COBJ): %.o: %.c - $(CC) $(CFLAGS) -o $@ -c $< - -$(AOBJ): %.ao: %.asm - $(AS) $(ASFLAGS) -o $@ $< - +# Acess Dynamic Linker (ELF) Version 1 +# LD-ACESS.SO +# Makefile + +-include ../Makefile.cfg + +OBJ := main.o lib.o loadlib.o export.o elf.o pe.o +OBJ += arch/$(ARCHDIR).ao_ +BIN = ld-acess.so +EXTRABIN := libld-acess.so +EXTRACLEAN = $(_OBJPREFIX)_stublib.o +INCFILES := sys/sys.h + +#CPPFLAGS += -D DISABLE_ELF64 +CFLAGS = -g -Wall -fno-builtin -fno-stack-protector -fPIC -std=c99 -ffreestanding +# -fno-leading-underscore +CFLAGS += $(CPPFLAGS) +LDFLAGS = -ffreestanding -nostdlib -g -Wl,-T,arch/$(ARCHDIR).ld -Map map.txt --export-dynamic -x +LIBS := $(LIBGCC_PATH) + +ifeq ($(ARCH),native) +XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN)) +$(XBIN): obj-$(ARCH)/_stublib.o +all: $(XBIN) +CFLAGS += -ffreestanding +LDFLAGS := +BIN := +OBJ := +endif + +include ../Makefile.tpl + +# create libld-acess.so +$(_XBIN): $(_OBJPREFIX)_stublib.o + @echo [LD] -o -shared libld-acess.so + $(LD) -shared -o $@ $< +# @$(LD) $(LDFLAGS) -o $@ $(OBJ) + + +# Override .ao to look in the object prefix for the source +$(_OBJPREFIX)arch/$(ARCHDIR).ao_: $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX) + @echo [AS] -o $@ + @mkdir -p $(dir $@) + @$(AS) $(ASFLAGS) -o $@ $< + +#.PRECIOUS: $(OBJ:%.ao=%.asm) + +# Preprocessing objects if needed +$(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): arch/$(ARCHDIR).$(ASSUFFIX).h arch/syscalls.s.h + @echo [CPP] -o $@ + @mkdir -p $(dir $@) + @$(CPP) $(CPPFLAGS) -P -D__ASSEMBLER__ $< -o $@ + +$(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): $(ACESSDIR)/KernelLand/Kernel/include/syscalls.h + +$(_OBJPREFIX)_stublib.o: arch/syscalls.s.h +