X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fld-acess_src%2FMakefile;h=bbce43dfd3199971c0cd2a4776c676114e34f7d6;hb=015bc57d9df5f9d073950a4cdfd1100c3ce6f954;hp=eb84ad894dbdb594e6160ac79b229b7c71383fcb;hpb=3764c294f21229bdf700f436fa4884f5e76e0d3a;p=tpg%2Facess2.git diff --git a/AcessNative/ld-acess_src/Makefile b/AcessNative/ld-acess_src/Makefile index eb84ad89..bbce43df 100644 --- a/AcessNative/ld-acess_src/Makefile +++ b/AcessNative/ld-acess_src/Makefile @@ -5,9 +5,9 @@ ifeq ($(PLATFORM),) PLATFORM := lin endif -OBJ := main.o syscalls.o request.o binary.o memory.o -OBJ += elf.o -OBJ := $(addsuffix .$(PLATFORM),$(OBJ)) +OBJ := main.o syscalls.o request.o binary.o memory.o exports.o +OBJ += elf.o elf_load.o +OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ)) ifeq ($(PLATFORM),win) BIN := ../ld-acess.exe @@ -19,8 +19,8 @@ endif CFLAGS += -Wall -Werror -g -m32 -DEPFILES = $(filter %.o.$(PLATFORM),$(OBJ)) -DEPFILES := $(DEPFILES:%.o.$(PLATFORM)=%.d.$(PLATFORM)) +DEPFILES = $(filter %.o,$(OBJ)) +DEPFILES := $(DEPFILES:%=%.dep) .PHONY: all clean @@ -29,18 +29,19 @@ all: $(BIN) clean: $(RM) $(BIN) $(OBJ) $(DEPFILES) -$(BIN): link.ld.$(PLATFORM) $(OBJ) -# $(LD) -g -o $@ $(OBJ) -T link.ld.$(PLATFORM) - $(CC) -g -o $@ $(OBJ) -m32 -Wl,-T,link.ld.$(PLATFORM) +$(BIN): obj-$(PLATFORM)/link.ld $(OBJ) + $(CC) -g -o $@ $(OBJ) -m32 -Wl,-T,obj-$(PLATFORM)/link.ld -%.o.$(PLATFORM): %.c +obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) @echo [CC] -o $@ @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) - @$(CC) -M $(CPPFLAGS) -MT $@ -o $*.d.$(PLATFORM) $< + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< # Modify the default makefile to put the executable at 1MB instead -link.ld.lin: - @echo Making Linker Script ($@) +obj-lin/link.ld: + @mkdir -p $(dir $@) + @echo "Making Linker Script ($@)" @$(LD) --verbose | awk '{ if( substr($$0,0,5) == "====="){ bPrint = !bPrint; } else { if(bPrint){ print $$0;} } }' | sed 's/\b0x0[08][0-9]*\b/0x00100000/g' > $@ -include $(DEPFILES)