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 = \
	conf.o \
	global.o \
	lex.o \
	list.o \
	nodes.o \
	parser.o \
	source.o

PARGENO = \
	$(COMMONO) \
	gen.o \
	parparse.o \
	partab.o \
	main.o

TESTO = \
	$(COMMONO) \
	gparser.o

OBJO = $(PARGENO) $(TESTO)

all: $(LIBS) pargen

pargen: $(PARGENO)
	$(CXX) $(CFLAGS) $(PARGENO) -o pargen $(LDFLAGS)

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

gparser.cc: template.cc pargen grammar
	./pargen grammar

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

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

# DO NOT DELETE

conf.o: global.h list.h nodes.h conf.h
global.o: global.h
lex.o: global.h source.h lex.h
list.o: list.h
nodes.o: global.h source.h lex.h list.h nodes.h conf.h
parser.o: global.h source.h lex.h list.h parser.h
source.o: global.h source.h
gen.o: global.h source.h lex.h list.h nodes.h conf.h parser.h parparse.h
gen.o: partab.h gen.h
parparse.o: global.h source.h lex.h list.h nodes.h parser.h parparse.h
partab.o: global.h list.h source.h lex.h nodes.h conf.h parser.h parparse.h
partab.o: partab.h gen.h
main.o: global.h source.h lex.h list.h nodes.h conf.h parser.h parparse.h
main.o: partab.h gen.h
conf.o: global.h list.h nodes.h conf.h
global.o: global.h
lex.o: global.h source.h lex.h
list.o: list.h
nodes.o: global.h source.h lex.h list.h nodes.h conf.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