-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
-CFLAGS = -Wall -fno-builtin -fno-leading-underscore -fno-stack-protector
+CFLAGS = -g -Wall -fno-builtin -fno-leading-underscore -fno-stack-protector -fPIC
CFLAGS += $(CPPFLAGS)
-ASFLAGS = -felf
-LDFLAGS = -T link.ld -Map map.txt --export-dynamic
+LDFLAGS = -g -T arch/$(ARCHDIR).ld -Map map.txt --export-dynamic
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
+%.ao: %.$(ASSUFFIX)
+ @echo [AS] -o $@
+ @mkdir -p $(dir $@)
+ @$(AS) $(ASFLAGS) -o $@ $<
+
+.PRECIOUS: $(OBJ:%.ao=%.asm)
+
+# Preprocessing objects if needed
+$(_OBJPREFIX)%: %.h
+ @echo [CPP] -o $@
+ @mkdir -p $(dir $@)
+ @$(CPP) $(CPPFLAGS) -P -D__ASSEMBLER__ $< -o $@