# Output directories
BIN = bin
OBJ = obj

# Compiler
CC = g++

# Optimization level
OPT = 

# Flags
INCLUDES = -I include  
INCLUDES += -I lib/EasyBMP
INCLUDES += -I lib/regex

CXXFLAGS =	$(OPT) -g -Wall 
CXXFLAGS += -D DEBUG_PROPSECTION
CXXFLAGS += -D DEBUG_DISPSECTION
CXXFLAGS += -D DEBUG_SLIDESECTION
CXXFLAGS += -D DEBUG_LINKSECTION
CXXFLAGS += -D DEBUG_CONVBMPINFO
CXXFLAGS += -D DEBUG_BEFOREPARSE
CXXFLAGS += -D DEBUG_AFTERPARSE

# Movie flas
ifeq ($(MOVIE_MERGE), on)
CXXFLAGS += -D MOVIE_MERGE_on
endif

LDFLAGS = $(OPT) 

# VPATH to search source
VPATH += ./src
VPATH += ./lib/EasyBMP

# Objects
OBJS += main.o
OBJS += ScriptParse.o
OBJS += EasyBMP.o
OBJS += CreateDemoBin.o

C_OBJECTS = $(addprefix $(OBJ)/, $(OBJS))

LIBS = lib/libregex.a

# Source code

# Output target
ifeq ($(MOVIE_MERGE), on)
TARGET =    CreateMovieBin.exe
else
TARGET =    CreateDemoBin.exe
endif

# Make target
.PHONY: all
all:	 $(BIN) $(OBJ) $(TARGET)
	
$(BIN) $(OBJ): 
	mkdir $@
	
$(OBJS): %.o: %.cpp
	$(CC) -c $(CXXFLAGS) $(INCLUDES) $< -o $(OBJ)/$@
	
$(TARGET):	$(OBJS)
	$(CC) $(LDFLAGS) -o $(BIN)/$(TARGET) $(C_OBJECTS) $(LIBS)

clean:
	-rm -f $(OBJ)/*.o $(BIN)/$(TARGET)
