STD_INCLUDE  = #-I/usr/local/include/g++

XSTD_INCLUDE = #-Iinclude -I../xstd/include
INCLUDE      = $(XSTD_INCLUDE) $(STD_INCLUDE)

DEFINES =

CFLAGS   = -g -O3 $(INCLUDE) $(DEFINES)
# -Wall -Wwrite-strings -Woverloaded-virtual -g -O3 $(INCLUDE) $(DEFINES)

CXXFLAGS = $(CFLAGS)
CCFLAGS  = $(CFLAGS)

LDFLAGS  = -lm

COMMONO = \
	fsa.o \
	global.o \
	irep.o \
	lex.o \
	list.o \
	parser.o \
	source.o

LEXGENO = \
	$(COMMONO) \
	gen.o \
	lexparse.o \
	fsatab.o \
	main.o

TESTO = \
	$(COMMONO) \
	glexer.o

OBJO = $(PARGENO) $(TESTO)

LIBS = #libBtnParser.a

all: $(LIBS) lexgen

lexgen: $(LEXGENO)
	$(CXX) $(CFLAGS) $(LEXGENO) -o lexgen $(LDFLAGS)

test: $(TESTO)
	$(CXX) $(CFLAGS) $(TESTO) -o test $(LDFLAGS)

glexer.cc: ltemplate.cc pargen lgrammar
	./lexgen lgrammar

clean:
	rm -f *.o $(LIBS) lexgen

depend:
	makedepend -- -Y $(CFLAGS) -- $(OBJO:.o=.cc)

# DO NOT DELETE

fsa.o: global.h list.h irep.h fsa.h
global.o: global.h
irep.o: global.h list.h irep.h fsa.h
lex.o: global.h source.h lex.h
list.o: list.h
parser.o: global.h source.h lex.h list.h parser.h
source.o: global.h source.h


syntax highlighted by Code2HTML, v. 0.9.1