#
# File:		
# Author:	
# Created:	
# Updated:	
# Copyright: LGPL.
#            Traveller is a registered trademark of Far Future Enterprises.	
#
# "$RCSfile: Makefile,v $ $Revision: 1.4 $ $Author: man $ $Date: 2002/12/29 03:55:30 $"
#
# Makefile for traveller system generation program

TRAVDIR = ../..

# All common UNIX compiler flags and options are now in
# this central makefile.
include $(TRAVDIR)/src/lib/make.env

DEBUG_ME = -DWORLD_DEBUG

OBJECTS= $(OBJDIR)/world.o \
	$(OBJDIR)/wrld_dlg.o \
	$(OBJDIR)/size.o \
	$(OBJDIR)/atmos.o \
	$(OBJDIR)/hydro.o \
	$(OBJDIR)/soc.o \
	$(OBJDIR)/detail.o

SHARED_OBJECTS=$(SHARED_OBJDIR)/world.o \
	$(SHARED_OBJDIR)/wrld_dlg.o \
	$(SHARED_OBJDIR)/size.o \
	$(SHARED_OBJDIR)/atmos.o \
	$(SHARED_OBJDIR)/hydro.o \
	$(SHARED_OBJDIR)/soc.o \
	$(SHARED_OBJDIR)/detail.o

INCS = world.h
PROGNAME=world

.SUFFIXES:

all:	$(OBJDIR) $(PROGNAME)

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

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

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

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

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

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

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

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

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

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

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

$(OBJDIR)/llist.o:	llist.cpp
	$(CC) -c $(CPPFLAGS) $(DEBUG_ME) -o $@ llist.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)

$(TRAVBINDEST)/$(PROGNAME): $(SHARED_OBJECTS)
	$(CXX) $(SHARED_OBJECTS) \
	-o $(TRAVBINDEST)/$(PROGNAME) \
	$(GUILDFLAGS) \
	$(LDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(SHARED_OBJDIR)/world.o:	world.cpp $(INCS)
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ world.cpp

$(SHARED_OBJDIR)/wrld_dlg.o:	wrld_dlg.cpp wrld_dlg.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ wrld_dlg.cpp

$(SHARED_OBJDIR)/detail.o:	detail.cpp detail.h size.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ detail.cpp

$(SHARED_OBJDIR)/size.o:	size.cpp size.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ size.cpp

$(SHARED_OBJDIR)/atmos.o:	atmos.cpp atmos.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ atmos.cpp

$(SHARED_OBJDIR)/hydro.o:	hydro.cpp hydro.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ hydro.cpp

$(SHARED_OBJDIR)/soc.o:	soc.cpp soc.h
	$(CXX) -c $(CPPFLAGS_SH) $(GUI_INC) -o $@ soc.cpp


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

clobber:
	rm -f $(OBJECTS) $(SHARED_OBJECTS) core $(PROGNAME) $(TRAVBINDEST)/$(PROGNAME)

