1 # Acess Dynamic Linker (ELF) Version 1
5 -include ../Makefile.cfg
7 OBJ := main.o lib.o loadlib.o export.o elf.o pe.o
8 OBJ += arch/$(ARCHDIR).ao_
10 EXTRABIN := libld-acess.so
11 EXTRACLEAN = $(_OBJPREFIX)_stublib.o
14 #CPPFLAGS += -D DISABLE_ELF64
15 CFLAGS = -g -Wall -fno-builtin -fno-stack-protector -fPIC -std=c99 -ffreestanding
16 # -fno-leading-underscore
18 LDFLAGS = -ffreestanding -nostdlib -g -Wl,-T,arch/$(ARCHDIR).ld -Map map.txt --export-dynamic -x
19 LIBS := $(LIBGCC_PATH)
22 XBIN := $(addprefix $(OUTPUTDIR)Libs/,$(EXTRABIN))
23 $(XBIN): obj-$(ARCH)/_stublib.o
25 CFLAGS += -ffreestanding
31 include ../Makefile.tpl
33 # create libld-acess.so
34 $(_XBIN): $(_OBJPREFIX)_stublib.o
35 @echo [LD] -o -shared libld-acess.so
36 $(LD) -shared -o $@ $<
37 # @$(LD) $(LDFLAGS) -o $@ $(OBJ)
40 # Override .ao to look in the object prefix for the source
41 $(_OBJPREFIX)arch/$(ARCHDIR).ao_: $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX)
44 @$(AS) $(ASFLAGS) -o $@ $<
46 #.PRECIOUS: $(OBJ:%.ao=%.asm)
48 # Preprocessing objects if needed
49 $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): arch/$(ARCHDIR).$(ASSUFFIX).h arch/syscalls.s.h
52 @$(CPP) $(CPPFLAGS) -P -D__ASSEMBLER__ $< -o $@
54 $(_OBJPREFIX)arch/$(ARCHDIR).$(ASSUFFIX): $(ACESSDIR)/KernelLand/Kernel/include/syscalls.h
56 $(_OBJPREFIX)_stublib.o: arch/syscalls.s.h