Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / Makefile
index 2d00516..49afb1e 100644 (file)
@@ -1,41 +1,41 @@
-# Acess Dynamic Linker (ELF) Version 1\r
-#  LD-ACESS.SO\r
-#  Makefile\r
-\r
-CC = gcc\r
-AS = nasm\r
-RM = @rm -f\r
-LD = ld\r
-OBJDUMP = objdump\r
-\r
-COBJ = main.o lib.o loadlib.o elf.o pe.o\r
-AOBJ = helpers.ao\r
-BIN = ../ld-acess.so\r
-\r
-CPPFLAGS = -I../../include\r
-CFLAGS = -Wall -fno-builtin -fleading-underscore -fno-stack-protector\r
-ASFLAGS = -felf\r
-#LDFLAGS = --oformat elf32-i386 -Map map.txt -Bstatic -e _SoMain -shared\r
-#LDFLAGS = --oformat elf32-i386 -Map map.txt -Bstatic -e _SoMain -Ttext 0xBFFFE000\r
-LDFLAGS = -T link.ld -Map map.txt -Bstatic\r
-\r
-\r
-.PHONY: all clean\r
-\r
-all:   $(BIN)\r
-\r
-clean:\r
-       $(RM) $(BIN) $(AOBJ) $(COBJ)\r
-\r
-$(BIN): $(AOBJ) $(COBJ)\r
-       $(LD) $(LDFLAGS) -o $(BIN) $(AOBJ) $(COBJ) > link.txt\r
-       $(OBJDUMP) -x $(BIN) > ld-acess.dmp\r
-       $(OBJDUMP) -d $(BIN) > ld-acess.dsm\r
-       cp $(BIN) /mnt/AcessHDD/Acess2/Libs\r
-\r
-$(COBJ): %.o: %.c\r
-       $(CC) $(CFLAGS) -o $@ -c $<\r
-\r
-$(AOBJ): %.ao: %.asm\r
-       $(AS) $(ASFLAGS) -o $@ $<\r
-       
+# 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
+
+CFLAGS   = -g -Wall -fno-builtin -fno-leading-underscore -fno-stack-protector -fPIC
+CFLAGS  += $(CPPFLAGS)
+LDFLAGS  = -g -T arch/$(ARCHDIR).ld -Map map.txt --export-dynamic
+
+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)_stublib.o: arch/syscalls.s.h
+

UCC git Repository :: git.ucc.asn.au