# Project: RenegadeEx

NAME  = rex.exe

CC = gcc
WINDRES = windres
#CC = i586-mingw32msvc-gcc
#WINDRES = i586-mingw32msvc-windres
RES  = rex.res
OBJ  = $(OBJPATH)rex.o $(OBJPATH)tab_hook.o $(OBJPATH)tab_results.o $(OBJPATH)tab_search.o $(OBJPATH)tab_settings.o $(OBJPATH)tab_fileutil.o $(OBJPATH)lib_api.o $(OBJPATH)lib_fileio.o $(OBJPATH)lib_listview.o $(OBJPATH)lib_misc.o $(OBJPATH)lib_rex.o $(OBJPATH)lib_search.o $(OBJPATH)lib_memory.o $(OBJPATH)lib_ntpb.o $(OBJPATH)$(RES)
LDFLAGS = -g -mwindows -lwsock32 -lcomctl32 -lpsapi -Wl,--stack,33554432
CFLAGS = -g
#CFLAGS = -O2 -s
OBJPATH = obj/
GLOBALINCLUDES = _types.h rex.h lib_fileio.h lib_misc.h lib_search.h

#might want LD --stack,number -WI--stack,33554432
#-s

.PHONY: all

all: $(NAME)


clean:
	rm -f $(OBJ)

Debug: $(NAME)

cleanDebug: clean

$(NAME): $(OBJ)
	$(CC) $(OBJ) -o $(NAME) $(LDFLAGS)

$(OBJPATH)rex.res: rex.rc rex_gui.h
	$(WINDRES) -i rex.rc -J rc -o $(OBJPATH)rex.res -O coff

$(OBJPATH)rex.o: rex.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c rex.c -o $(OBJPATH)rex.o $(CFLAGS)

#Tabs

$(OBJPATH)tab_hook.o: tab_hook.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c tab_hook.c -o $(OBJPATH)tab_hook.o $(CFLAGS)

$(OBJPATH)tab_results.o: tab_results.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c tab_results.c -o $(OBJPATH)tab_results.o $(CFLAGS)

$(OBJPATH)tab_search.o: tab_search.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c tab_search.c -o $(OBJPATH)tab_search.o $(CFLAGS)

$(OBJPATH)tab_settings.o: tab_settings.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c tab_settings.c -o $(OBJPATH)tab_settings.o $(CFLAGS)

$(OBJPATH)tab_fileutil.o: tab_fileutil.c rex_gui.h $(GLOBALINCLUDES)
	$(CC) -c tab_fileutil.c -o $(OBJPATH)tab_fileutil.o $(CFLAGS)

#Libraries

$(OBJPATH)lib_api.o: lib_api.c $(GLOBALINCLUDES)
	$(CC) -c lib_api.c -o $(OBJPATH)lib_api.o $(CFLAGS)

$(OBJPATH)lib_fileio.o: lib_fileio.c lib_fileio.h _types.h
	$(CC) -c lib_fileio.c -o $(OBJPATH)lib_fileio.o $(CFLAGS)

$(OBJPATH)lib_listview.o: lib_listview.c $(GLOBALINCLUDES)
	$(CC) -c lib_listview.c -o $(OBJPATH)lib_listview.o $(CFLAGS)

$(OBJPATH)lib_memory.o: lib_memory.c $(GLOBALINCLUDES)
	$(CC) -c lib_memory.c -o $(OBJPATH)lib_memory.o $(CFLAGS)

$(OBJPATH)lib_misc.o: lib_misc.c lib_misc.h _types.h
	$(CC) -c lib_misc.c -o $(OBJPATH)lib_misc.o $(CFLAGS)

$(OBJPATH)lib_rex.o: lib_rex.c $(GLOBALINCLUDES)
	$(CC) -c lib_rex.c -o $(OBJPATH)lib_rex.o $(CFLAGS)

$(OBJPATH)lib_search.o: lib_search.c lib_search.h _types.h
	$(CC) -c lib_search.c -o $(OBJPATH)lib_search.o $(CFLAGS)

$(OBJPATH)lib_ntpb.o: lib_ntpb.c
	$(CC) -c lib_ntpb.c -o $(OBJPATH)lib_ntpb.o $(CFLAGS)
