X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2FMakefile;h=4dc881c09ca2ed4ce5c8e03bac892cb27d49fb91;hb=b7d9f86f7a1c23be18b50d5c647fd5d3c08369c3;hp=668460a06f5b9ebdd2800b4e4737078bc0e6de4e;hpb=560e97380a10c4a8cd8b14b2b7f5d133e32759e0;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/Makefile b/Usermode/Libraries/ld-acess.so_src/Makefile index 668460a0..4dc881c0 100644 --- a/Usermode/Libraries/ld-acess.so_src/Makefile +++ b/Usermode/Libraries/ld-acess.so_src/Makefile @@ -5,18 +5,51 @@ -include ../Makefile.cfg OBJ := main.o lib.o loadlib.o export.o elf.o pe.o -OBJ += core.ao vfs.ao mm.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 +CFLAGS = -g -Wall -fno-builtin -fno-stack-protector -fPIC -std=c99 +# -fno-leading-underscore CFLAGS += $(CPPFLAGS) -ASFLAGS = -felf -LDFLAGS = -T link.ld -Map map.txt --export-dynamic +LDFLAGS = -g -T arch/$(ARCHDIR).ld -Map map.txt --export-dynamic + +ifeq ($(ARCH),native) +XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN)) +$(XBIN): obj-$(ARCH)/_stublib.o +all: $(XBIN) +CFLAGS += -ffreestanding +LDFLAGS := +BIN := +OBJ := +endif include ../Makefile.tpl -$(_XBIN): $(_BIN) +# create libld-acess.so +$(_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 +$(_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