Externals/cross-compiler - Fixing compiler a little
[tpg/acess2.git] / AcessNative / ld-acess.so_src / Makefile
index 08e12c8..661e674 100644 (file)
@@ -5,29 +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
+       BIN := ../ld-acess.so
 endif
 
-CFLAGS += -Wall -Werror -g
+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): $(OBJ)
-       $(CC) -g -o $@ $(OBJ)
+       $(CC) -o $@ $(OBJ) $(LDFLAGS)
+       objdump -S $@ > [email protected]
+
+obj-$(PLATFORM)/%.o: %.c
+       @mkdir -p $(dir $@)
+       @echo [CC] -o $@
+       @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
+       @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<
 
-%.o.$(PLATFORM): %.c
-       $(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)
+-include $(DEPFILES)
 

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