CPLUSPLUS  = g++.exe
CC   = gcc.exe
WINDRES = windres.exe
RES  = 

HOMEDIR = /cygdrive/d/home/rero2/works/lunavader/
LIBDIR = /lib/w32api/
LUNADIR = $(HOMEDIR)sdk/luna_dx9_gcc/
DXSDKDIR = $(HOMEDIR)sdk/DirectX90c/
LIBS = $(LUNADIR)libLuna.a $(DXSDKDIR)lib/libd3dx9.a /lib/mingw/libmsvcrt.a $(LIBDIR)libgdi32.a $(LIBDIR)libvfw32.a $(LIBDIR)libimm32.a $(LIBDIR)libcomdlg32.a $(LIBDIR)libws2_32.a $(LIBDIR)libcomctl32.a $(LIBDIR)libuuid.a $(LIBDIR)libwinmm.a $(LIBDIR)libole32.a

INCS = -I"/usr/include/mingw" -I"$(DXSDKDIR)include" -I"$(LUNADIR)"
CXXINCS = -I"/usr/include/mingw" -I"$(DXSDKDIR)include" -I"$(LUNADIR)"


CXXFLAGS = $(CXXINCS) -D__GCC__ -ansi -traditional-cpp -O3 # -g
CFLAGS = $(INCS) -D__GCC__ -ansi -traditional-cpp -O3 # -g
LFLAGS = -mwindows -mno-cygwin

# ----- target

OBJ  = startup.o \
      gamedirector.o basicsystem.o spriteitem.o \
      shootingobject.o bulletbase.o enemyobject.o bulletmaker.o \
      panelmanage.o myshipmanage.o myshotmanage.o convoymanage.o \
      bulletmanage.o bonusshipmanage.o backgroundmanage.o \
      titlemanage.o
RESOURCE =
TARGET  = saimoe-sien-so.exe

# ------
%.o: %.c
	$(CC) $(CFLAGS) $(INCS) -c $< -o $@

%.o: %.cpp
	$(CPLUSPLUS) $(CXXFLAGS) $(CXXINCS) -c $< -o $@

%.res: %.rc
	$(WINDRES) -i $< -I rc -o $@ -O coff 

# ------

all: $(TARGET)

clean:
	rm -f $(OBJ) $(TARGET) $(RESOURCE)

$(TARGET): $(OBJ) $(RESOURCE) $(LIBS)
	$(CPLUSPLUS) $(LFLAGS) $^ -o $@

startup.o. : gamedirector.h basicsystem.h lunavader.h
basicsystem.o : basicsystem.h lunavader.h
gamedirector.o : gamedirector.h basicsystem.h lunavader.h
spriteitem.o : spriteitem.h lunavader.h
shootingobject.o : shootingobject.h spriteitem.h
bulletbase.o : bulletbase.h shootingobject.h spriteitem.h
enemyobject.o : enemyobject.h shootingobject.h lunavader.h
bulletmaker.o : bulletmaker.h bulletbase.h bulletmanage.h basicsystem.h
panelmanage.o : panelmanage.h spriteitem.h lunavader.h
myshipmanage.o : shootingobject.h spriteitem.h lunavader.h
myshotmanage.o : myshotmanage.h bulletbase.h lunavader.h
convoymanage.o : convoymanage.h enemyobject.h lunavader.h
bulletmanage.o : bulletmanage.h bulletbase.h basicsystem.h
bonusshipman.o : bonusshipman.h bulletbase.h basicsystem.h lunavader.h
backgroundmanage.o : backgroundmanage.h spriteitem.h basicsystem.h lunavader.h
titlemanage.o : titlemanage.h  spriteitem.h basicsystem.h lunavader.h
