8 OBJ := main.o syscalls.o request.o binary.o memory.o exports.o
9 OBJ += elf.o elf_load.o
10 OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ))
12 ifeq ($(PLATFORM),win)
13 BIN := ../ld-acess.exe
16 ifeq ($(PLATFORM),lin)
18 LINKADDR := 0x70000000
25 CPPFLAGS += -DARCHDIR_is_x86_64=1
26 LDFLAGS += -g -Wl,-T,obj-$(PLATFORM)/link.ld
28 DEPFILES = $(filter %.o,$(OBJ))
29 DEPFILES := $(DEPFILES:%=%.dep)
36 $(RM) $(BIN) $(OBJ) $(DEPFILES) obj-$(PLATFORM)/link.ld
38 $(BIN): obj-$(PLATFORM)/link.ld $(OBJ)
39 $(CC) -o $@ $(OBJ) $(LDFLAGS)
42 obj-$(PLATFORM)/%.o: %.c
45 @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
48 # Modify the default makefile to put the executable at 1MB instead
49 obj-lin/link.ld: Makefile
51 @echo "Making Linker Script ($@)"
52 $(LD) -g --verbose | awk '{ if( substr($$1,0,5) == "====="){ bPrint = !bPrint; } else { if(bPrint){ print $$0;} } }' | sed 's/\b0x[048][0-9]*\b/$(LINKADDR)/g' | sed 's/CONSTANT (MAXPAGESIZE)/0x1000/g' > $@
54 # Modify the default makefile to put the executable at 1MB instead
55 obj-win/link.ld: Makefile
57 @echo "Making Linker Script ($@)"
58 $(LD) -g --verbose | awk '{ if( substr($$1,0,5) == "====="){ bPrint = !bPrint; } else { if(bPrint){ print $$0;} } }' | sed 's/\b0x[048][0-9]*\b/$(LINKADDR)/g' | sed 's/CONSTANT (MAXPAGESIZE)/0x1000/g' > $@