#
# File:		
# Author:	
# Created:	
# Updated:	
# Copyright: LGPL.
#            Traveller is a registered trademark of Far Future Enterprises.	
#
# "$RCSfile: Makefile,v $ $Revision: 1.6 $ $Author: man $ $Date: 2003/05/23 13:25:53 $"
#
# Makefile for traveller word 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


OBJECTS=$(OBJDIR)/sectmerge.o
OBJECTS1=$(OBJDIR)/stripstar.o
OBJECTS2=$(OBJDIR)/t_code_conv.o
OBJECTS3=$(OBJDIR)/gen_trade.o
OBJECTS4=$(OBJDIR)/hardtimes.o
OBJECTS5=$(OBJDIR)/ht.o
OBJECTS6=$(OBJDIR)/addstar.o
OBJECTS7=$(OBJDIR)/xlat_uwp.o

BASE_OBJECTS=$(OBJDIR)/sect_text.o

ALLOBJECTS=$(OBJECTS) $(OBJECTS1) $(OBJECTS2) $(OBJECTS3) $(OBJECTS4) \
	$(OBJECTS6) $(BASE_OBJECTS) $(OBJECTS5) $(OBJECTS7)

SHARED_OBJECTS=$(SHARED_OBJDIR)/sectmerge.o

INCS=sect_text.h
PROGNAME=sectmerge
PROGNAME1=stripstar
PROGNAME2=t_code_conv
PROGNAME3=gen_trade
PROGNAME4=hardtimes
PROGNAME6=addstar
PROGNAME7=xlat_uwp
# yucky program:
PROGNAME5=ht

ALLPROGS=$(PROGNAME) $(PROGNAME1) $(PROGNAME2) $(PROGNAME3) $(PROGNAME4) \
		$(PROGNAME5) $(PROGNAME6) $(PROGNAME7)

.SUFFIXES:

all:	$(OBJDIR) $(ALLPROGS)

shared:	$(SHARED_OBJDIR)

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

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

$(PROGNAME1): $(OBJECTS1) $(BASE_OBJECTS)
	$(CC) -o $(PROGNAME1) $(OBJECTS1) $(BASE_OBJECTS) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME2): $(OBJECTS2)
	$(CC) -o $(PROGNAME2) $(OBJECTS2) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME3): $(OBJECTS3)
	$(CC) -o $(PROGNAME3) $(OBJECTS3) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME4): $(OBJECTS4)
	$(CC) -o $(PROGNAME4) $(OBJECTS4) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME5): $(OBJECTS5)
	$(CC) -o $(PROGNAME5) $(OBJECTS5) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME6): $(OBJECTS6) $(BASE_OBJECTS)
	$(CC) -o $(PROGNAME6) $(OBJECTS6) $(BASE_OBJECTS) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(PROGNAME7): $(OBJECTS7) $(BASE_OBJECTS)
	$(CC) -o $(PROGNAME7) $(OBJECTS7) $(BASE_OBJECTS) \
	$(GUILDFLAGS) \
	$(X_LD_LIBS) \
	$(ALLTRAVLIBS)

$(OBJDIR)/sectmerge.o:	sectmerge.c $(INCS)
	$(CC) -c $(CPPFLAGS) -o $@ sectmerge.c

$(OBJDIR)/stripstar.o:	stripstar.c $(INCS)
	$(CC) -c $(CPPFLAGS) -o $@ stripstar.c

$(OBJDIR)/addstar.o:	addstar.c $(INCS)
	$(CC) -c $(CPPFLAGS) -o $@ addstar.c

$(OBJDIR)/t_code_conv.o:	t_code_conv.c
	$(CC) -c $(CPPFLAGS) -o $@ t_code_conv.c

$(OBJDIR)/sect_text.o:	sect_text.c $(INCS)
	$(CC) -c $(CPPFLAGS) -o $@ sect_text.c

$(OBJDIR)/gen_trade.o:	gen_trade.cpp
	$(CC) -c $(CPPFLAGS) -o $@ gen_trade.cpp

$(OBJDIR)/d_sect.o:	d_sect.cpp
	$(CC) -c $(CPPFLAGS) -o $@ d_sect.cpp

$(OBJDIR)/basesect.o:	basesect.cpp
	$(CC) -c $(CPPFLAGS) -o $@ basesect.cpp

$(OBJDIR)/codetbl.o:	codetbl.cpp
	$(CC) -c $(CPPFLAGS) -o $@ codetbl.cpp

$(OBJDIR)/hardtimes.o:	hardtimes.cpp hardtimes.h
	$(CC) -c $(CPPFLAGS) -o $@ hardtimes.cpp

$(OBJDIR)/xlat_uwp.o:	xlat_uwp.cpp
	$(CC) -c $(CPPFLAGS) -o $@ xlat_uwp.cpp

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

###### 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)/sectmerge.o:	sectmerge.c $(INCS)
	$(CXX) -c $(CPPFLAGS_SH) -o $@ sectmerge.c

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

clobber:
	rm -f $(ALLOBJECTS) $(SHARED_OBJECTS) core $(ALLPROGS) $(TRAVBINDEST)/$(PROGNAME1)

