# $Id: Makefile,v 1.5 2003/03/19 14:47:13 flaterco Exp $

# libtcd is mandatory.  It comes with xtide.
# Change this!
LIBTCD_DIR = ../xtide/libtcd

# This must be set one way or another if building tideEditor.
# Qt not required for build_tide_db or restore_tide_db.
# QTDIR = /usr/local/qt-3.0.5


all: build_tide_db restore_tide_db tideEditor
some: build_tide_db restore_tide_db

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

# Stuff for build_tide_db and restore_tide_db

# build_tide_db and restore_tide_db are simple and do not require Qt.

BUILD_FILES = build_tide_db.o xml.o
RESTORE_FILES = restore_tide_db.o

CFLAGS = -O2 -I$(LIBTCD_DIR)

build_tide_db:  $(BUILD_FILES)
	$(CC) $(BUILD_FILES) $(LIBTCD_DIR)/libtcd.a -lm -o build_tide_db

restore_tide_db:  $(RESTORE_FILES)
	$(CC) $(RESTORE_FILES) $(LIBTCD_DIR)/libtcd.a -lm -o restore_tide_db

build_tide_db.o:	build_tide_db.h
restore_tide_db.o: 	restore_tide_db.h

.c.o:
	$(CC) -c $(CFLAGS) $<

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

# Stuff for tideEditor

# tideEditor is less simple and requires Qt 3.0.5 or compatible version.

EDFILES = main.o map.o tideEditor.o wvsrtv.o tideDialog.o tideList.o fixpos.o moc_map.o moc_tideDialog.o moc_tideEditor.o moc_tideList.o

CXXFLAGS = -fno-exceptions -O2 -pipe -I$(QTDIR)/include -I$(LIBTCD_DIR)

MOC = $(QTDIR)/bin/moc

tideEditor :  $(EDFILES)
	$(CXX) $(EDFILES) -L $(QTDIR)/lib -Wl,-rpath,$(QTDIR)/lib $(LIBTCD_DIR)/libtcd.a -lqt -o tideEditor

main.o: main.cpp tideEditor.h

map.o: map.cpp map.h

tideEditor.o: tideEditor.cpp tideEditor.h tideEditorHelp.h tideDialog.h map.h

tideDialog.o: tideDialog.cpp tideDialog.h tideDialogHelp.h tideEditor.h version.h

tideList.o: tideList.cpp tideList.h tideListHelp.h tideDialog.h version.h


moc_map.o: moc_map.cpp map.h

moc_map.cpp: map.h
	$(MOC) map.h -o moc_map.cpp


moc_tideEditor.o: moc_tideEditor.cpp tideEditor.h tideDialog.h map.h

moc_tideEditor.cpp: tideEditor.h
	$(MOC) tideEditor.h -o moc_tideEditor.cpp


moc_tideDialog.o: moc_tideDialog.cpp tideDialog.h tideEditor.h

moc_tideDialog.cpp: tideDialog.h
	$(MOC) tideDialog.h -o moc_tideDialog.cpp


moc_tideList.o: moc_tideList.cpp tideList.h tideDialog.h

moc_tideList.cpp: tideList.h
	$(MOC) tideList.h -o moc_tideList.cpp

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

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

clean:
	rm -f *.o build_tide_db restore_tide_db tideEditor \
moc_tideEditor.cpp moc_tideDialog.cpp moc_tideList.cpp
