X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Fld-acess.so_src%2FMakefile;h=78aac4bd7f7b548463a0c141719526357c3b374b;hb=d8d31a4ec9a28eb8de493146ce75e8238e8e13b1;hp=64a120c2e53f5cbe5af0c64ca85048b3c7e64848;hpb=3d6a345b39afa454f0f33fc8d48b96229971e6ed;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/Makefile b/Usermode/Libraries/ld-acess.so_src/Makefile index 64a120c2..78aac4bd 100644 --- a/Usermode/Libraries/ld-acess.so_src/Makefile +++ b/Usermode/Libraries/ld-acess.so_src/Makefile @@ -5,31 +5,53 @@ -include ../Makefile.cfg OBJ := main.o lib.o loadlib.o export.o elf.o pe.o -OBJ += arch/$(ARCHDIR).ao +OBJ += arch/$(ARCHDIR).ao_ BIN = ld-acess.so EXTRABIN := libld-acess.so +EXTRACLEAN = $(_OBJPREFIX)_stublib.o +INCFILES := sys/sys.h -CFLAGS = -Wall -fno-builtin -fno-leading-underscore -fno-stack-protector +#CPPFLAGS += -D DISABLE_ELF64 +CFLAGS = -g -Wall -fno-builtin -fno-stack-protector -fPIC -std=c99 -ffreestanding +# -fno-leading-underscore CFLAGS += $(CPPFLAGS) -ASFLAGS = -felf -LDFLAGS = -T link.ld -Map map.txt --export-dynamic +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): $(_BIN) +$(_XBIN): $(_OBJPREFIX)_stublib.o @echo [LD] -o -shared libld-acess.so - @$(LD) $(LDFLAGS) -shared -o $@ $(OBJ) + $(LD) -shared -o $@ $< +# @$(LD) $(LDFLAGS) -o $@ $(OBJ) + # Override .ao to look in the object prefix for the source -%.ao: %.asm +$(_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)%: %.h +$(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): arch/$(ARCHDIR).$(ASSUFFIX).h arch/syscalls.s.h @echo [CPP] -o $@ @mkdir -p $(dir $@) - @$(CPP) $(CPPFLAGS) -P -D_ASM_ $< -o $@ + @$(CPP) $(CPPFLAGS) -P -D__ASSEMBLER__ $< -o $@ + +$(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): $(ACESSDIR)/KernelLand/Kernel/include/syscalls.h + +$(_OBJPREFIX)_stublib.o: arch/syscalls.s.h