#
# File:		
# Author:	
# Created:	
# Updated:	
# Copyright:	
#
# "%W% %G%"
#
# Makefile for traveller system generation program

TRAVDIR = ../..

# real stupid define to force the static version of libwx_motif.a
DUMMYLIBS = /usr/wxwin/lib/libwx_motif.a
# All common UNIX compiler flags and options are now in
# this central makefile.
include $(TRAVDIR)/src/lib/make.env

##DEBUG_ME = -DMAP_DEBUG -DPLATE_GROW_CODE
DEBUG_ME = -DMAP_DEBUG

OBJECTS= $(OBJDIR)/map.o \
	$(OBJDIR)/iso_map.o \
	$(OBJDIR)/hex.o \
	$(OBJDIR)/face.o

SHARED_OBJECTS=$(SHARED_OBJDIR)/map.o \
	$(SHARED_OBJDIR)/iso_map.o \
	$(SHARED_OBJDIR)/hex.o \
	$(SHARED_OBJDIR)/face.o

INCS = map.h iso_map.h face.h

PROGNAME=map

.SUFFIXES:

all:	$(OBJDIR) $(PROGNAME)

shared:	$(SHARED_OBJDIR) $(TRAVBIN)/$(PROGNAME)

###### debug build(static):
$(OBJDIR):
	mkdir $(OBJDIR)

$(PROGNAME): $(OBJECTS)
	$(CC) -o $(PROGNAME) $(OBJECTS) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(OBJDIR)/map.o:	map.cpp $(INCS)
	$(CC) -c $(CPPFLAGS) $(DEBUG_ME) -o $@ map.cpp $(GUI_INC)

$(OBJDIR)/iso_map.o:	iso_map.cpp iso_map.h
	$(CC) -c $(CPPFLAGS) $(DEBUG_ME) -o $@ iso_map.cpp $(GUI_INC)

$(OBJDIR)/face.o:	face.cpp face.h
	$(CC) -c $(CPPFLAGS) $(DEBUG_ME) -o $@ face.cpp $(GUI_INC)

$(OBJDIR)/hex.o:	hex.cpp hex.h
	$(CC) -c $(CPPFLAGS) $(DEBUG_ME) -o $@ hex.cpp $(GUI_INC)

###$(OBJDIR)/wx_menu.o:	wx_menu.cpp $(INCS)
###	$(CC) -c $(CPPFLAGS) -o $@ wx_menu.cpp

###$(OBJDIR)/wb_item.o:	wb_item.cpp $(INCS)
###	$(CC) -c $(CPPFLAGS) -o $@ wb_item.cpp

###### full build(shared):
$(SHARED_OBJDIR):
	mkdir $(SHARED_OBJDIR)

$(TRAVBIN)/$(PROGNAME): $(SHARED_OBJECTS)
	$(CXX) $(SHARED_OBJECTS) \
	-o $(TRAVBIN)/$(PROGNAME) \
	$(LDFLAGS) \
	$(LDLIBS)

$(SHARED_OBJDIR)/map.o:	map.cpp $(INCS)
	$(CXX) -c $(CXXFLAGS) -o $@ map.cpp

$(SHARED_OBJDIR)/iso_map.o:	iso_map.cpp iso_map.h
	$(CXX) -c $(CXXFLAGS) -o $@ iso_map.cpp

$(SHARED_OBJDIR)/face.o:	face.cpp face.h
	$(CXX) -c $(CXXFLAGS) -o $@ face.cpp

$(SHARED_OBJDIR)/hex.o:	hex.cpp hex.h
	$(CXX) -c $(CXXFLAGS) -o $@ hex.cpp

$(SHARED_OBJDIR)/plate.o:	plate.cpp plate.h
	$(CXX) -c $(CXXFLAGS) -o $@ plate.cpp


###### helper:
clean:
	rm -f $(OBJECTS) $(SHARED_OBJECTS) core $(PROGNAME) *~

clobber:
	rm -f $(OBJECTS) $(SHARED_OBJECTS) core $(PROGNAME) $(TRAVBIN)/$(PROGNAME) *~

