# Makefile.in for Frodo (generic Unix/X11)

## Version information
VERSION  = 4
REVISION = 2

## System specific configuration
@SET_MAKE@
SHELL = /bin/sh

prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
datadir = @datadir@

DESTDIR =

CXX = @CXX@
CFLAGS = @CFLAGS@ @GLADE_CFLAGS@ -I./ -DKBD_LANG=@KBD_LANG@
DEFS = @DEFS@ -DDATADIR=\"$(datadir)/frodo/\" -DBINDIR=\"$(bindir)/\"
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ @GLADE_LIBS@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

## Files
OBJS    = main.o Display.o Prefs.o SID.o REU.o IEC.o 1541fs.o \
          1541d64.o 1541t64.o 1541job.o SAM.o CmdPipe.o
SLOBJS  = $(OBJS) C64.o CPUC64.o VIC.o CIA.o CPU1541.o
SLFLAGS = -DPRECISE_CPU_CYCLES=1 -DPRECISE_CIA_CYCLES=1 -DPC_IS_POINTER=0
SCOBJS  = $(OBJS) C64_SC.o CPUC64_SC.o VIC_SC.o CIA_SC.o CPU1541_SC.o CPU_common.o
SCFLAGS = -DFRODO_SC
SRCS    = main.cpp Display.cpp Prefs.cpp SID.cpp REU.cpp IEC.cpp 1541fs.cpp \
          1541d64.cpp 1541t64.cpp 1541job.cpp SAM.cpp CmdPipe.cpp C64.cpp \
          C64_SC.cpp CPUC64.cpp CPUC64_SC.cpp VIC.cpp VIC_SC.cpp CIA.cpp \
          CIA_SC.cpp CPU1541.cpp CPU1541_PC.cpp CPU1541_SC.cpp CPU_common.cpp

## Rules
.PHONY: install installdirs uninstall clean distclean depend dep
.SUFFIXES:
.SUFFIXES: .o .cpp .h

all: Frodo FrodoSC

Frodo: $(SLOBJS)
	$(CXX) -o Frodo $(LDFLAGS) $(SLOBJS) $(LIBS)

FrodoSC: $(SCOBJS)
	$(CXX) -o FrodoSC $(LDFLAGS) $(SCOBJS) $(LIBS)

install: Frodo FrodoSC installdirs
	$(INSTALL_PROGRAM) Frodo $(DESTDIR)$(bindir)/Frodo
	$(INSTALL_PROGRAM) FrodoSC $(DESTDIR)$(bindir)/FrodoSC
	$(INSTALL_PROGRAM) Frodo_GUI.tcl $(DESTDIR)$(bindir)/Frodo_GUI.tcl
	$(INSTALL_DATA) ../Kernal\ ROM $(DESTDIR)$(datadir)/frodo/Kernal\ ROM
	$(INSTALL_DATA) glade/Frodo.glade $(DESTDIR)$(datadir)/frodo/Frodo.glade

installdirs:
	$(SHELL) mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/frodo

uninstall:
	rm -f $(DESTDIR)$(bindir)/Frodo
	rm -f $(DESTDIR)$(bindir)/FrodoSC
	rm -f $(DESTDIR)$(bindir)/Frodo_GUI.tcl
	rm -f $(DESTDIR)$(datadir)/frodo/Kernal\ ROM
	rmdir $(DESTDIR)$(datadir)/frodo

clean:
	rm -f $(SLOBJS) $(SCOBJS)
	rm -f Frodo FrodoSC
	rm -f core* *.core *~ *.bak

distclean: clean
	rm -rf autom4te.cache
	rm -f Makefile sysconfig.h
	rm -f config.cache config.log config.status config.h

depend dep:
	makedepend $(CPPFLAGS) -Y. $(SRCS) 2>/dev/null

.cpp.o:
	$(CXX) $(DEFS) $(CFLAGS) -o $@ -c $*.cpp

C64.o: C64.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SLFLAGS) -o $@ -c $*.cpp

C64_SC.o: C64_SC.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SCFLAGS) -o $@ -c $*.cpp

CPUC64.o: CPUC64.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SLFLAGS) -o $@ -c $*.cpp

CPUC64_SC.o: CPUC64_SC.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SCFLAGS) -o $@ -c $*.cpp

CPU1541.o: CPU1541.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SLFLAGS) -o $@ -c $*.cpp

CPU1541_SC.o: CPU1541_SC.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SCFLAGS) -o $@ -c $*.cpp

VIC_SC.o: VIC_SC.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SCFLAGS) -o $@ -c $*.cpp

CIA_SC.o: CIA_SC.cpp
	$(CXX) $(DEFS) $(CFLAGS) $(SCFLAGS) -o $@ -c $*.cpp

#-------------------------------------------------------------------------
# DO NOT DELETE THIS LINE -- make depend depends on it.
