
CC=gcc
CXX=g++
CFLAGS=
INCLUDES=-I$(QTDIR)/include
LDFLAGS=-L$(QTDIR)/lib -lqt
VERSION=1.0

# For systems that don't have install, use this
#INSTALL=cp
#INSTALL_BIN_FLAGS=

INSTALL=install
INSTALL_BIN_FLAGS=-s

INSTALL_ROOT=/usr/local
INSTALL_BIN=$(INSTALL_ROOT)/bin
INSTALL_MAN=$(INSTALL_ROOT)/man

METAFILES=mblackjack mtable mdollar_scroll_bar mbet_option
METASRC=$(addsuffix .cpp,$(METAFILES))
METAOBJS=$(addsuffix .o,$(METAFILES))

OBJS=blackjack.o table.o hand.o shoe.o card.o status_display.o \
     user_input.o dollar_scroll_bar.o bet_option.o table_option.o \
     insurance_window.o $(METAOBJS)

DEPEND_FILES=$(addprefix .,$(patsubst %.o,%.d,$(OBJS)))
MOC=moc

.SUFFIXES: .cpp

.cpp.o:
	$(CXX) -c $(CFLAGS) $(INCLUDES) $<

blackjack: main.o $(OBJS) 
	$(CXX) -o $@ $(LDFLAGS) $^

install:
	$(INSTALL) $(INSTALL_BIN_FLAGS) blackjack $(INSTALL_BIN)
	$(INSTALL) blackjack.1 $(INSTALL_MAN)/man1

mblackjack.cpp: blackjack.h
	$(MOC) -o mblackjack.cpp blackjack.h

mtable.cpp: table.h
	$(MOC) -o mtable.cpp table.h

mdollar_scroll_bar.cpp: dollar_scroll_bar.h
	$(MOC) -o mdollar_scroll_bar.cpp dollar_scroll_bar.h

mbet_option.cpp: bet_option.h
	$(MOC) -o mbet_option.cpp bet_option.h

tar: blackjack
	$(MAKE) clean
	strip blackjack
	cd ..; tar -cvf blackjack-$(VERSION).tar blackjack-$(VERSION)

clean:
	rm -f .*.d *.o core $(METASRC) 

.%.d: %.cpp
	$(CXX) -MM -E $(CFLAGS) $< | sed 's/\($*\.o\)[ :]*/\1 $@: /g' > $@
 
#
# if you are working on the program and want GNU make to generate dependancy
# files export the variable WANT_DEPENDS with some value 
#  i.e. export WANT_DEPENDS=true
#

ifdef WANT_DEPENDS
include $(DEPEND_FILES)
endif
 
