1srcdir = @srcdir@
2prefix = @prefix@
3
4CC = gcc
5CFLAGS = @CFLAGS@
6
7INSTALL_DIR = @prefix@
8SNACK_INSTALL_DIR = $(INSTALL_DIR)/lib/snack@SNACK_VERSION@
9
10# NOTE: You will need to update this path if DX6 is not installed in /mingw/dx6!
11# DX6 for Mingw: http://people.montana.com/%7Ebowman/Software/ming.zip
12DX6_DIR = /mingw/dx6
13DX6_INC_DIR = $(DX6_DIR)/include
14DX6_LIB_DIR = $(DX6_DIR)/lib
15
16INCLUDES = @TCL_INCLUDE_SPEC@ @TK_INCLUDE_SPEC@ -I$(DX6_INC_DIR) -I$(srcdir)/../generic
17
18# stupid autoconf messes up the VPATH variable!
19WORKAROUND = $(srcdir)/../generic $(srcdir)
20VPATH = $(WORKAROUND)
21
22DEFINES = -DWIN -DUSE_TCL_STUBS -DUSE_TK_STUBS -DBUILD_snack -DTCL_81_API
23
24TCL_LIB_SPEC = @TCL_LIB_SPEC@
25TK_LIB_SPEC = @TK_LIB_SPEC@
26
27SNACK_DLL = libsnack.dll
28SOUND_DLL = libsound.dll
29SNACK_STUB = @SNACK_STUB_LIB_FILE@
30SNACK_STUB_OBJS = snackStubInit.o
31
32SNACK_TCL_FILE = $(srcdir)/../unix/snack.tcl
33SNACK_PKG_FILE = $(srcdir)/../unix/pkgIndex.tcl.dll
34SNACK_PKG_FILE_DEST = pkgIndex.tcl
35
36SOURCES = \
37ffa.c \
38g711.c \
39jkAudio.c \
40jkAudIO_win.c \
41jkCanvSect.c \
42jkCanvSpeg.c \
43jkCanvWave.c \
44jkFilter.c \
45jkFilterIIR.c \
46jkFormatMP3.c \
47jkMixer.c \
48jkPitchCmd.c \
49jkSound.c \
50jkSoundEdit.c \
51jkSoundEngine.c \
52jkSoundFile.c \
53jkSoundProc.c \
54jkSynthesis.c \
55shape.c \
56jkGetF0.c \
57jkFormant.c \
58sigproc.c \
59sigproc2.c \
60sound.c \
61snack.c \
62snackStubInit.c
63
64
65COMMON_OBJS = \
66ffa.o \
67g711.o \
68jkAudio.o \
69jkAudIO_win.o \
70jkFilter.o \
71jkFilterIIR.o \
72jkFormatMP3.o \
73jkMixer.o \
74jkPitchCmd.o \
75jkSound.o \
76jkSoundEdit.o \
77jkSoundEngine.o \
78jkSoundFile.o \
79jkSoundProc.o \
80jkSynthesis.o \
81shape.o \
82jkGetF0.o \
83jkFormant.o \
84sigproc.o \
85sigproc2.o
86
87SNACK_OBJS = \
88$(COMMON_OBJS) \
89jkCanvSect.o \
90jkCanvSpeg.o \
91jkCanvWave.o \
92snack.o
93
94SOUND_OBJS = \
95$(COMMON_OBJS) \
96sound.o
97
98
99SNACK_LIBS = $(TCL_LIB_SPEC) $(TK_LIB_SPEC) $(SNACK_STUB) -lwinmm
100SOUND_LIBS = $(TCL_LIB_SPEC) $(SNACK_STUB) -lwinmm
101
102.SUFFIXES: .o .c
103
104.c.o:
105	$(CC) $(CFLAGS) $(INCLUDES) $(DEFINES) -c -o $@ $<
106
107all: $(SNACK_STUB) $(SNACK_DLL) $(SOUND_DLL)
108
109clean:
110	rm -f *.o *.dll *.a
111
112install:
113	@if test ! -d "$(SNACK_INSTALL_DIR)" ; then \
114	    echo "mkdir $(SNACK_INSTALL_DIR)" ; \
115	    mkdir "$(SNACK_INSTALL_DIR)" ; \
116	fi
117	cp $(SNACK_STUB) "$(SNACK_INSTALL_DIR)"
118	cp $(SNACK_DLL) "$(SNACK_INSTALL_DIR)"
119	cp $(SOUND_DLL) "$(SNACK_INSTALL_DIR)"
120	cp $(SNACK_TCL_FILE) "$(SNACK_INSTALL_DIR)"
121	cp $(SNACK_PKG_FILE) "$(SNACK_INSTALL_DIR)/$(SNACK_PKG_FILE_DEST)"
122
123$(SNACK_DLL): $(SNACK_OBJS)
124	gcc -shared -o $@ $(SNACK_OBJS) $(SNACK_LIBS)
125
126$(SOUND_DLL): $(SOUND_OBJS)
127	gcc -shared -o $@ $(SOUND_OBJS) $(SOUND_LIBS)
128
129$(SNACK_STUB) : $(SNACK_STUB_OBJS)
130	ar cr $@ $(SNACK_STUB_OBJS)
131	ranlib $@
132
133