# $Id: Makefile 1202 2006-10-14 05:24:28Z olau $

PROJ = trie
CC = gcc
CXX = g++
# DEBUGFLAGS = -DDEBUG
OPTIMIZE = -O3
CFLAGS = $(DEBUGFLAGS) $(OPTIMIZE) -Wall
CXXFLAGS = $(CFLAGS)
LFLAGS = -L../timer -ltimer -L../testdata -ltestdata
INC = 
OUT = -o
O = .o

linux:
	$(MAKE) all CC="gcc" CXX="g++" O=".o" \
		CFLAGS="$(CFLAGS)" \
		CXXFLAGS="$(CXXFLAGS)" \
		LFLAGS="$(LFLAGS)" \
		LIBS= \
		OUT=-o

all: $(PROJ)

clean:
	$(RM) *.o
	$(RM) $(PROJ)

.SUFFIXES: .c .h .cpp $O
.c$O: Makefile
	$(CC) $(CFLAGS) $(INC) -c $*.c

%.o: %.c Makefile
	$(CC) $(CFLAGS) $(INC) -c -o $@ $<

.cpp$O: Makefile
	$(CXX) $(CXXFLAGS) $(INC) -c $*.cpp

%.o: %.cpp Makefile
	$(CXX) $(CXXFLAGS) $(INC) -c -o $@ $<

$(PROJ): main$(O) TrieMap$(O) testdata timer Makefile
	$(CXX) $(LFLAGS) $(OUT) $(PROJ) TrieMap$(O) main$(O) ../timer/timer$(O) ../testdata/testdata$(O)

testdata: ../testdata/libtestdata.a ../testdata/testdata.h
	$(MAKE) -C ../testdata

timer: ../timer/libtimer.a ../timer/timer.h
	$(MAKE) -C ../timer
