# WolfGL Makefile for Linux.
#

CC = gcc
CC_FLAGS = -I. -I../common -I/usr/local/include -D_LINUX -Wimplicit -D$(GAMEVER) $(CFLAGS)
LINK_FLAGS = -L/usr/X11R6/lib -lXext -lX11 -lm -lGLU -lGL -lpthread
COMMON_OBJS =	$(OBJDIR)/wl_main.o $(OBJDIR)/id_ca.o $(OBJDIR)/wl_text.o \
	$(OBJDIR)/id_pm.o $(OBJDIR)/id_vh.o $(OBJDIR)/wl_act2.o \
	$(OBJDIR)/wl_draw.o $(OBJDIR)/id_in.o \
	$(OBJDIR)/id_sd.o $(OBJDIR)/id_vl.o $(OBJDIR)/wl_agent.o \
	$(OBJDIR)/wl_game.o $(OBJDIR)/wl_menu.o $(OBJDIR)/wl_state.o \
	$(OBJDIR)/id_mm.o $(OBJDIR)/id_us.o $(OBJDIR)/wl_act1.o \
	$(OBJDIR)/wl_debug.o $(OBJDIR)/wl_inter.o $(OBJDIR)/wl_play.o \
	$(OBJDIR)/console.o $(OBJDIR)/opengl.o $(OBJDIR)/state.o 

LINUX_OBJS = $(OBJDIR)/system.o $(OBJDIR)/sound.o $(OBJDIR)/input.o

default:
	@echo 'Do not call this file directly' 

wolfgl: $(LINUX_OBJS) $(COMMON_OBJS)
	$(CC) $(LINK_FLAGS) $(COMMON_OBJS) $(LINUX_OBJS) -o $(OUTDIR)/wolfgl

# common directory

$(OBJDIR)/console.o: ../common/console.c
	$(CC) $(CC_FLAGS) -c ../common/console.c -o $(OBJDIR)/console.o
$(OBJDIR)/id_ca.o: ../common/id_ca.c
	$(CC) $(CC_FLAGS) -c ../common/id_ca.c -o $(OBJDIR)/id_ca.o
$(OBJDIR)/id_in.o: ../common/id_in.c
	$(CC) $(CC_FLAGS) -c ../common/id_in.c -o $(OBJDIR)/id_in.o
$(OBJDIR)/id_mm.o: ../common/id_mm.c
	$(CC) $(CC_FLAGS) -c ../common/id_mm.c -o $(OBJDIR)/id_mm.o
$(OBJDIR)/id_pm.o: ../common/id_pm.c
	$(CC) $(CC_FLAGS) -c ../common/id_pm.c -o $(OBJDIR)/id_pm.o
$(OBJDIR)/id_sd.o: ../common/id_sd.c
	$(CC) $(CC_FLAGS) -c ../common/id_sd.c -o $(OBJDIR)/id_sd.o
$(OBJDIR)/id_us.o: ../common/id_us.c
	$(CC) $(CC_FLAGS) -c ../common/id_us.c -o $(OBJDIR)/id_us.o
$(OBJDIR)/id_vh.o: ../common/id_vh.c
	$(CC) $(CC_FLAGS) -c ../common/id_vh.c -o $(OBJDIR)/id_vh.o
$(OBJDIR)/id_vl.o: ../common/id_vl.c
	$(CC) $(CC_FLAGS) -c ../common/id_vl.c -o $(OBJDIR)/id_vl.o
$(OBJDIR)/opengl.o: ../common/opengl.c
	$(CC) $(CC_FLAGS) -c ../common/opengl.c -o $(OBJDIR)/opengl.o
$(OBJDIR)/state.o: ../common/state.c
	$(CC) $(CC_FLAGS) -c ../common/state.c -o $(OBJDIR)/state.o
$(OBJDIR)/wl_act1.o: ../common/wl_act1.c
	$(CC) $(CC_FLAGS) -c ../common/wl_act1.c -o $(OBJDIR)/wl_act1.o
$(OBJDIR)/wl_act2.o: ../common/wl_act2.c
	$(CC) $(CC_FLAGS) -c ../common/wl_act2.c -o $(OBJDIR)/wl_act2.o
$(OBJDIR)/wl_agent.o: ../common/wl_agent.c
	$(CC) $(CC_FLAGS) -c ../common/wl_agent.c -o $(OBJDIR)/wl_agent.o
$(OBJDIR)/wl_debug.o: ../common/wl_debug.c
	$(CC) $(CC_FLAGS) -c ../common/wl_debug.c -o $(OBJDIR)/wl_debug.o
$(OBJDIR)/wl_draw.o: ../common/wl_draw.c
	$(CC) $(CC_FLAGS) -c ../common/wl_draw.c -o $(OBJDIR)/wl_draw.o
$(OBJDIR)/wl_game.o: ../common/wl_game.c
	$(CC) $(CC_FLAGS) -c ../common/wl_game.c -o $(OBJDIR)/wl_game.o
$(OBJDIR)/wl_inter.o: ../common/wl_inter.c
	$(CC) $(CC_FLAGS) -c ../common/wl_inter.c -o $(OBJDIR)/wl_inter.o
$(OBJDIR)/wl_main.o: ../common/wl_main.c
	$(CC) $(CC_FLAGS) -c ../common/wl_main.c -o $(OBJDIR)/wl_main.o
$(OBJDIR)/wl_menu.o: ../common/wl_menu.c
	$(CC) $(CC_FLAGS) -c ../common/wl_menu.c -o $(OBJDIR)/wl_menu.o
$(OBJDIR)/wl_play.o: ../common/wl_play.c
	$(CC) $(CC_FLAGS) -c ../common/wl_play.c -o $(OBJDIR)/wl_play.o
$(OBJDIR)/wl_state.o: ../common/wl_state.c
	$(CC) $(CC_FLAGS) -c ../common/wl_state.c -o $(OBJDIR)/wl_state.o
$(OBJDIR)/wl_text.o: ../common/wl_text.c
	$(CC) $(CC_FLAGS) -c ../common/wl_text.c -o $(OBJDIR)/wl_text.o

# Linux directory

$(OBJDIR)/input.o: input.c input.h
	$(CC) $(CC_FLAGS) -c input.c -o $(OBJDIR)/input.o
$(OBJDIR)/system.o: system.c system.h
	$(CC) $(CC_FLAGS) -c system.c -o $(OBJDIR)/system.o
$(OBJDIR)/sound.o: sound.c sound.h
	$(CC) $(CC_FLAGS) -c sound.c -o $(OBJDIR)/sound.o

#clean: 
#	rm -f $(OBJDIR)/*.o wolfgl

VERSION=0.93

bin:
	cd wl1 && make clean && make && zip ../wolfglx-wl1-$(VERSION).zip wolfgl
	cd wl6 && make clean && make && zip ../wolfglx-wl6-$(VERSION).zip wolfgl
	cd sdm && make clean && make && zip ../wolfglx-sdm-$(VERSION).zip wolfgl
	cd sod && make clean && make && zip ../wolfglx-sod-$(VERSION).zip wolfgl


