#
# make compatibility
#
SHELL = /bin/sh

.SUFFIXES:
.SUFFIXES: .c .cc .cpp .o .d
# 
# Source and Installation Paths
#
prefix  =      /usr/local
exec_prefix =  ${prefix}
srcdir =       .
datadir  =     ${prefix}/share

#
# Installation directories for binaries and manual pages
#
bindir  =      ${exec_prefix}/bin
mandir  =      ${prefix}/man
man1dir =      $(mandir)/man1
#
# install program
#
INSTALL =               /usr/bin/install -c
INSTALL_PROGRAM =       ${INSTALL}
INSTALL_DATA =          ${INSTALL} -m 644
#
# Program version
#
VERSION = 1.1.7atapi
#
# Data files
#
PIXMAPS_DIR = $(datadir)/pixmaps/gcdmaster
#
# compiler and library stuff
#
CXX = g++
CXXFLAGS = -g -O2 
ALL_CXXFLAGS = -DHAVE_CONFIG_H -D_THREAD_SAFE -D_REENTRANT  -DVERSION=\"$(VERSION)\" -I.. -I$(srcdir) -I$(srcdir)/../dao -I$(srcdir)/../trackdb $(CXXFLAGS)  
LDFLAGS =  
LIBS =  -L../scsilib/export -lscg -lschily    -lpthread  -lnsl 
RANLIB = ranlib
AR = ar
#
#
#
SRC = xcdrdao.cc gcdmaster.cc ProjectChooser.cc Project.cc ViewSwitcher.cc \
      SampleDisplay.cc SampleManager.cc \
      TrackManager.cc AddSilenceDialog.cc TrackInfoDialog.cc TocEdit.cc \
      TextEdit.cc TocInfoDialog.cc guiUpdate.cc TrackDataScrap.cc \
      AddFileDialog.cc CdDevice.cc DeviceConfDialog.cc \
      ProcessMonitor.cc ProgressDialog.cc Settings.cc MessageBox.cc \
      AudioCDProject.cc DumpCDProject.cc \
      AudioCDChild.cc RecordCDTarget.cc \
      DuplicateCDProject.cc RecordTocDialog.cc BlankCDDialog.cc \
      DeviceList.cc RecordTocSource.cc RecordCDSource.cc \
      RecordHDTarget.cc AudioCDView.cc TocEditView.cc GenericChild.cc \
      GenericView.cc CdTextDialog.cc \
      SoundIF-linux.cc

OBJ = $(SRC:%.cc=%.o)

DEP = $(SRC:%.cc=%.d)

PRG = gcdmaster
#
#
#
all: $(PRG)

install: all installdirs
	$(INSTALL_PROGRAM) $(PRG) $(bindir)
	$(INSTALL_DATA) xcdrdao.man $(man1dir)/xcdrdao.1
	$(INSTALL_DATA) gcdmaster.png $(PIXMAPS_DIR)/gcdmaster.png
	$(INSTALL_DATA) pixmap_audiocd.png $(PIXMAPS_DIR)/pixmap_audiocd.png
	$(INSTALL_DATA) pixmap_copycd.png $(PIXMAPS_DIR)/pixmap_copycd.png
	$(INSTALL_DATA) pixmap_datacd.png $(PIXMAPS_DIR)/pixmap_datacd.png
	$(INSTALL_DATA) pixmap_dumpcd.png $(PIXMAPS_DIR)/pixmap_dumpcd.png
	$(INSTALL_DATA) pixmap_help.png $(PIXMAPS_DIR)/pixmap_help.png
	$(INSTALL_DATA) pixmap_mixedcd.png $(PIXMAPS_DIR)/pixmap_mixedcd.png
	$(INSTALL_DATA) pixmap_open.png $(PIXMAPS_DIR)/pixmap_open.png
	$(INSTALL_DATA) pixmap_play-start.xpm $(PIXMAPS_DIR)/pixmap_play-start.xpm
	$(INSTALL_DATA) pixmap_play-pause.xpm $(PIXMAPS_DIR)/pixmap_play-pause.xpm
	$(INSTALL_DATA) pixmap_play-stop.xpm $(PIXMAPS_DIR)/pixmap_play-stop.xpm
	$(INSTALL_DATA) pixmap_cursor-tool.xpm $(PIXMAPS_DIR)/pixmap_cursor-tool.xpm
	$(INSTALL_DATA) pixmap_zoom-tool.xpm $(PIXMAPS_DIR)/pixmap_zoom-tool.xpm
	$(INSTALL_DATA) pixmap_zoom-in.xpm $(PIXMAPS_DIR)/pixmap_zoom-in.xpm
	$(INSTALL_DATA) pixmap_zoom-out.xpm $(PIXMAPS_DIR)/pixmap_zoom-out.xpm
	$(INSTALL_DATA) pixmap_zoom-selection.xpm $(PIXMAPS_DIR)/pixmap_zoom-selection.xpm
	$(INSTALL_DATA) pixmap_zoom-fit.xpm $(PIXMAPS_DIR)/pixmap_zoom-fit.xpm
	$(INSTALL_DATA) gcdmaster.desktop $(datadir)/gnome/apps/Applications/gcdmaster.desktop

installdirs:
	$(srcdir)/../mkinstalldirs $(bindir)
	$(srcdir)/../mkinstalldirs $(man1dir)
	$(srcdir)/../mkinstalldirs $(PIXMAPS_DIR)
	$(srcdir)/../mkinstalldirs $(datadir)/gnome/apps/Applications

uninstall:
	rm -f $(bindir)/$(PRG) $(man1dir)/xcdrdao.1
	rm -f $(PIXMAPS_DIR)/gcdmaster.png $(PIXMAPS_DIR)/pixmap_audiocd.png
	rm -f $(PIXMAPS_DIR)/pixmap_copycd.png $(PIXMAPS_DIR)/pixmap_datacd.png
	rm -f $(PIXMAPS_DIR)/pixmap_dumpcd.png $(PIXMAPS_DIR)/pixmap_help.png
	rm -f $(PIXMAPS_DIR)/pixmap_mixedcd.png $(PIXMAPS_DIR)/pixmap_open.png
	rm -f $(datadir)/gnome/apps/Applications/gcdmaster.desktop

clean:
	rm -f *.o $(PRG)

distclean: clean
	rm -f Makefile
	rm -f *.d
#
#
#
$(PRG): $(OBJ) ../trackdb/libtrackdb.a ../dao/libdao.a
	$(CXX) $(LDFLAGS) -o $(PRG) $(OBJ) -L../dao -ldao -L../trackdb -ltrackdb -L../paranoia -lcdda_paranoia $(LIBS)

%.o : %.cc
	$(CXX) $(ALL_CXXFLAGS) -c $< -o $@

%.d : %.cc
	@echo Creating dependencies for $<
	@$(CXX) -M $(ALL_CXXFLAGS) -c $< > $@

#
#
#

include $(DEP)
