
# tools

LINK		= gcc
CC		= gcc
CXX		= gcc

LEX		= flex
YACC		= bison

MV		= mv

# 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		= FSMScanner.l
OBJECTS		= FSMScanner.cpp
TARGET		= FSMScanner.o
OUTPUTS		= 

#rules

all:	$(TARGET)

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

FSMScanner.cpp	: $(SOURCES)
	$(LEX) $?
	$(MV) lex.yy.c FSMScanner.cpp

FSMScanner.o	: $(OBJECTS)
	$(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'"
