X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fld-acess.so_src%2FMakefile;h=661e67496af133bf3d9c9aff2a4e0f16a2162b34;hb=b9bf2c8b90b846a8cf11b57071765f24dd37fd4f;hp=4fb6ae281ac53357460cde4c5062d4876dc7e5ab;hpb=4726431cb7e0bada749b32f9e51dedadf882d50b;p=tpg%2Facess2.git diff --git a/AcessNative/ld-acess.so_src/Makefile b/AcessNative/ld-acess.so_src/Makefile index 4fb6ae28..661e6749 100644 --- a/AcessNative/ld-acess.so_src/Makefile +++ b/AcessNative/ld-acess.so_src/Makefile @@ -5,35 +5,42 @@ 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 memory.o exports.o +OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ)) ifeq ($(PLATFORM),win) - BIN := ../ld-acess.exe + BIN := ../ld-acess.dll + LDFLAGS += -lws2_32 endif ifeq ($(PLATFORM),lin) - BIN := ../ld-acess - LD += -m elf_i386 + BIN := ../ld-acess.so endif -CFLAGS += -Wall -Werror -g -m32 +CFLAGS += -Wall +CFLAGS += -Werror +CFLAGS += -g -shared -fPIC +CPPFLAGS += -DARCHDIR_is_x86_64=1 +LDFLAGS += -g -shared -Wl,--no-undefined + +DEPFILES = $(filter %.o,$(OBJ)) +DEPFILES := $(DEPFILES:%=%.dep) .PHONY: all clean all: $(BIN) clean: - $(RM) $(BIN) $(OBJ) + $(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) + $(CC) -o $@ $(OBJ) $(LDFLAGS) + objdump -S $@ > $@.dsm -%.o.$(PLATFORM): %.c - $(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) +obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) + @echo [CC] -o $@ + @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< -# Modify the default makefile to put the executable at 1MB instead -link.ld.lin: - $(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)