CXX = g++

PREFIX = /usr/local
INSTALL = /usr/bin/install -c
PERL = /usr/bin/perl

# Linux module linking flags
MODFLAGS = -shared -rdynamic
# Solaris module linking flags
#MODFLAGS = -G

SUBDIRS = Turf BSX #PythonPlugin
PERL = /usr/bin/perl

MODULES = o/Speedwalk.so o/PromptPlugin.so o/ConnectionTimer.so o/Clock.so o/Fraction.so o/Multi.so o/Biff.so o/Friends.so o/MSP.so o/PapayaUsers.so o/Mudftp.so o/MudLog.so
SRC_FILES = $(wildcard *.cpp)

# For MSP plugin
MIDI = 
MIDI_LIB = 

##
# Shouldn't need to change anything beyond here for Linux.  Solaris users
# should select the correct LFLAGS line.
##

C++FLAGS = -fno-exceptions -fno-rtti -fno-inline -DUNIX -Wall $(MIDI)   -g -O2 -DUSE_GTK_2 -I../include/ -I../papaya -I/usr/local/include -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12  

all: $(MODULES)
	for subdir in $(SUBDIRS); do \
	  $(MAKE) -C $$subdir; \
	done

o/MSP.so: MSP.cpp
	$(CXX) -I $(C++FLAGS) MSP.cpp -o $@ $(MODFLAGS) $(MIDI_LIB)

o/%.so: %.cpp
	$(CXX) -I. $(C++FLAGS) -o $@ $< $(MODFLAGS)

clean:
	for subdir in $(SUBDIRS); do \
	  $(MAKE) -C $$subdir clean; \
	done
	-@rm -f $(MODULES) *~ core gmon.out

distclean: clean
	for subdir in $(SUBDIRS); do \
	  $(MAKE) -C $$subdir distclean; \
	done
	-@rm Makefile

install:
	-@mkdir -p $(PREFIX)/lib/papaya/plugins/
	-@rm $(PREFIX)/lib/papaya/plugins/*.so
	$(INSTALL) -m 0644 o/*.so $(PREFIX)/lib/papaya/plugins/
	for subdir in $(SUBDIRS); do \
	  $(MAKE) -C $$subdir install; \
	done

.depend:
	$(CXX) -MM -I../include -I/usr/local/include/ -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12   $(SRC_FILES) > .depend
	$(PERL) -i -p -e 's/..\/include\/version\.h//g' .depend
	$(PERL) -i -p -e 's/([^.]+)\.o/o\/\1.o/g' .depend

include .depend





