AcessNative - Little fixes to get it running on 64-bit
[tpg/acess2.git] / AcessNative / ld-acess_src / Makefile
1 #
2 #
3
4 ifeq ($(PLATFORM),)
5         PLATFORM := lin
6 endif
7
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))
11
12 ifeq ($(PLATFORM),win)
13         BIN := ../ld-acess.exe
14 endif
15 ifeq ($(PLATFORM),lin)
16         BIN := ../ld-acess
17 #       LD += -m elf_i386
18 endif
19
20 CFLAGS   += -Wall
21 CFLAGS   += -Werror
22 CFLAGS   += -g
23 CPPFLAGS += -DARCHDIR_is_x86_64=1
24 LDFLAGS  += -g -Wl,-T,obj-$(PLATFORM)/link.ld
25
26 DEPFILES  = $(filter %.o,$(OBJ))
27 DEPFILES := $(DEPFILES:%=%.dep)
28
29 .PHONY: all clean
30
31 all: $(BIN)
32
33 clean:
34         $(RM) $(BIN) $(OBJ) $(DEPFILES) obj-$(PLATFORM)/link.ld
35
36 $(BIN): obj-$(PLATFORM)/link.ld $(OBJ)
37         $(CC) $(LDFLAGS) -o $@ $(OBJ)
38
39 obj-$(PLATFORM)/%.o: %.c
40         @mkdir -p $(dir $@)
41         @echo [CC] -o $@
42         @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
43         @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<
44
45 # Modify the default makefile to put the executable at 1MB instead
46 obj-lin/link.ld:
47         @mkdir -p $(dir $@)
48         @echo "Making Linker Script ($@)"
49         $(LD) --verbose | awk '{ if( substr($$0,0,5) == "====="){ bPrint = !bPrint; } else { if(bPrint){ print $$0;} } }' | sed 's/\b0x[048][0-9]*\b/0x00200000/g' > $@
50
51 -include $(DEPFILES)
52

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