
# tools

LINK		= gcc
CC		= gcc
CXX		= gcc

LEX		= flex
YACC		= bison

# flags

RCFLAGS         =
RLFLAGS         = -L/usr/lib
RINCFLAGS       =
RLIBRARIES      = -lstdc++

DCFLAGS         = -g
DLFLAGS         = -L/usr/lib
DINCFLAGS       =
DLIBRARIES      = -lstdc++

# status

ifndef STATUS
STATUS          = Release
endif

ifeq ($(STATUS),Release)
CFLAGS          = $(RCFLAGS)
LFLAGS          = $(RLFLAGS)
INCFLAGS        = $(RINCFLAGS)
LIBRARIES       = $(RLIBRARIES)
endif

ifeq ($(STATUS),Debug)
CFLAGS          = $(DCFLAGS)
LFLAGS          = $(DLFLAGS)
INCFLAGS        = $(DINCFLAGS)
LIBRARIES       = $(DLIBRARIES)
endif

# variables

SOURCES		= FSMCallback.cpp FSMDB.cpp FSMDBException.cpp FSMEvent.cpp FSMState.cpp FSMTransition.cpp
OBJECTS		= FSMCallback.o FSMDB.o FSMDBException.o FSMEvent.o FSMState.o FSMTransition.o
HEADERS		= FSMCallback.h FSMDB.h FSMDBException.h FSMEvent.h FSMState.h FSMTransition.h
TARGET		=
OUTPUTS		= 

#rules

all:	$(OBJECTS)

#################

FSMCallback.o	: FSMCallback.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?

FSMDB.o		: FSMDB.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?

FSMDBException.o: FSMDBException.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?

FSMEvent.o	: FSMEvent.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?

FSMState.o	: FSMState.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?

FSMTransition.o	: FSMTransition.cpp
	$(CC) -c $(CFLAGS) $(INCFLAGS) -o $@ $?


###########

clean:
	rm -f core $(OBJECTS) *~

cleanall:
	rm -f $(TARGET) $(OUTPUTS) core $(OBJECTS) *~

test:	

help:
	@echo "To compile, please, run: make all OR make ex4"
