srcdir = .
top_srcdir = ..
top_builddir = ..
SHELL = /bin/sh

AS = as
CC = gcc -g -mno-cygwin
CFLAGS = -O2 -DWIN32 -D_WINDOWS
CCC = c++ -mno-cygwin
DLLTOOL =dlltool
DLLWRAP =dllwrap    -mno-cygwin -mwindows -L/usr/lib/mingw --dlltool-name=$(DLLTOOL) --as=$(AS) --driver-name=$(CC) --target=i386-mingw32
so = dll


INCLUDES = \
	-I$(top_srcdir)/include/timidity-2.13/

#	-I$(srcdir) \
#	-I$(srcdir)/include \
#	-I$(top_srcdir) \
#	-I$(top_srcdir)/libarc \
#	-I$(top_srcdir)/interface \
#	-I$(top_srcdir)/utils \
#	-I$(top_srcdir)/libtimidity \
#	-I$(top_srcdir)/timidity \
#	-I$(top_srcdir)/libunimod 


noinst_LIBRARIES = libtwsynth.a

libtwsynth_a_SOURCES = \
	plugin_c.c 

EXTRA_DIST = \
	plugin_c.c 

DEF_FILE= ./twsynth.def


# linker for making shared library
UMP = twsynth.dll
MODULE = twsynth
DLLNAME = twsynth
TWSYNTHDLL=$(DLLNAME).dll

XPIDL_GEN_DIR           = _xpidlgen
XPIDL_MODULE            = $(MODULE)
REPORT_BUILD = @echo $(notdir $<)
EXPORS =
SDK_HEADERS =
SDK_XPIDLSRCS =


TWSYNTHDLLOBJS = \
	timiditymain.o
#  	timidity_synth.o \	

	
LIBS =      -lwinmm
TWSYNTHDLLLINKS = $(LIBS) 
subdir = ump
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/interface.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)

libtwsynth_a_AR = $(AR) cru
libtwsynth_a_LIBADD =


DEFS =  -DHAVE_CONFIG_H  -DWIN32 -D__W32__ -D_WINDOWS -D_USRDLL -D_WINDLL -D_MBCS 
DEFAULT_INCLUDES =   -I. -I$(srcdir)  -I$(srcdir)/include -I$(top_builddir) 
CPPFLAGS = -DAU_W32 -DTIMIDITY_OUTPUT_ID=\"d\" -DHAVE_CONFIG_H -DFLUIDSYNTH_NOT_A_DLL
LDFLAGS =   -L/usr/local/lib 

depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC)  $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libtwsynth_a_SOURCES)
DIST_COMMON = Makefile.am Makefile.in
SOURCES = $(libtwsynth_a_SOURCES)

all: twsynth

.SUFFIXES:
.SUFFIXES: .def .rc .res .cpp .c .o  .h .idl .xpt


mostlyclean-compile:
	-rm -f *.$(OBJEXT) core *.core

distclean-compile:
	-rm -f *.tab.c

distclean-depend:
	-rm -rf ./$(DEPDIR)

.rc.res:
	windres $< -o $*.res  -O coff

.c.o:
	$(COMPILE) $(DEFS) -c `test -f '$<' || echo '$(srcdir)/'`$<

.cpp.o:
	$(COMPILE) $(DEFS) -c `test -f '$<' || echo '$(srcdir)/'`$<


twsynth: $(TWSYNTHDLL)

$(TWSYNTHDLL):$(DEF_FILE) $(TWSYNTHDLLOBJS)
	for f in libarc utils interface; do (cd $(top_builddir)/$$f; $(MAKE)); done
	cd $(top_builddir)/timidity; $(MAKE) objs
	build-dll twsynth -  $(DEF_FILE)  $(TWSYNTHDLLOBJS) \
	`echo $(top_builddir)/timidity/*.o | sed -e s@$(top_builddir)/timidity/timidity.o@@g` \
	$(top_builddir)/libarc/*.o \
	$(top_builddir)/utils/*.o \
	$(top_builddir)/interface/*.o \
	$(top_builddir)/libunimod/*.o \
	$(TWSYNTHDLLLINKS)

#	rm $(top_builddir)/interface/rtsyn_common.o 

#	| sed -e s@$(top_builddir)/timidity/resample.o@@g \
#	| sed -e s@$(top_builddir)/timidity/recache.o@@g \

#$(DEF_FILE)

#	$(DLLWRAP) -o $(TWSYNTHDLL) $(LDFLAGS) --def $(DEF_FILE) $(TWSYNTHDLLOBJS) \
#	`echo $(top_builddir)/timidity/*.o | sed -e s@$(top_builddir)/timidity/timidity.o@@g` \
#	$(top_builddir)/libarc/*.o \
#	$(top_builddir)/utils/*.o \
#	$(top_builddir)/interface/*.o \
#	$(top_builddir)/libunimod/*.o \
#	$(TWSYNTHDLLLINKS)

clean:
	rm -f $(TWSYNTHDLL)
	rm -f *.o
	rm -f *.dll
	rm -f *.lib
	rm -f *.a
	rm -f *.exe	

timidity-clean:
	for f in libarc utils interface; do (cd $(top_builddir)/$$f; $(MAKE) clean); done
	cd $(top_builddir)/timidity; $(MAKE) clean


timiditymain.o: $(top_srcdir)/timidity/timidity.c
	$(COMPILE)  $(DEFS) -DHAVE_CONFIG_H  $(DEF_DEFAULT_PATH) -Dmain=timiditymain -o $@ -c $(top_srcdir)/timidity/timidity.c

#	$(COMPILE)  -DHAVE_CONFIG_H -DPKGDATADIR=\"c:\timidity\" $(DEF_DEFAULT_PATH) -Dmain=timiditymain -o $@ -c $(top#_srcdir)/timidity/timidity.c


test_twsynth.exe:test_twsynth.c ../libtimidity/libtimidity.a
	$(COMPILE)  $(DEFS) -DHAVE_CONFIG_H $(DEF_DEFAULT_PATH) $(INCLUDES) -o $@ test_twsynth.c -L../libtimidity -ltimidity -lwinmm


test:test_twsynth.exe
