summaryrefslogtreecommitdiff
path: root/vst/Makefile.mingw32
blob: ea7b1e0a9155d0855fb924e46b21a8db28114681 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
VST_BASE = vstsdk2.4
VST_SRC_BASE = ${VST_BASE}/public.sdk/source/vst2.x/
VST_SRC = \
	${VST_SRC_BASE}/audioeffectx.cpp \
	${VST_SRC_BASE}/audioeffect.cpp \
	${VST_SRC_BASE}/vstplugmain.cpp
VST_CFLAGS=-I$(VST_BASE)

top_srcdir=..
DG_BASE = ..
DG_SRC = \
	$(top_srcdir)/src/audioinputenginemidi.cc \
	$(top_srcdir)/src/audiofile.cc \
	$(top_srcdir)/src/channel.cc \
	$(top_srcdir)/src/channelmixer.cc \
	$(top_srcdir)/src/configuration.cc \
	$(top_srcdir)/src/configparser.cc \
	$(top_srcdir)/src/drumgizmo.cc \
	$(top_srcdir)/src/drumkit.cc \
	$(top_srcdir)/src/drumkitloader.cc \
	$(top_srcdir)/src/drumkitparser.cc \
	$(top_srcdir)/src/events.cc \
	$(top_srcdir)/src/instrument.cc \
	$(top_srcdir)/src/instrumentparser.cc \
	$(top_srcdir)/src/messagehandler.cc \
	$(top_srcdir)/src/messagereceiver.cc \
	$(top_srcdir)/src/midimapparser.cc \
	$(top_srcdir)/src/midimapper.cc \
	$(top_srcdir)/src/mutex.cc \
	$(top_srcdir)/src/path.cc \
	$(top_srcdir)/src/powerlist.cc \
	$(top_srcdir)/src/sample.cc \
	$(top_srcdir)/src/semaphore.cc \
	$(top_srcdir)/src/saxparser.cc \
	$(top_srcdir)/src/thread.cc \
	$(top_srcdir)/src/velocity.cc \
	$(top_srcdir)/src/versionstr.cc
DG_CFLAGS = -DDISABLE_HUGIN -I../include -I../src -DSSE -msse -msse2

GUI_SRC = \
	$(top_srcdir)/hugin/hugin.c \
	$(top_srcdir)/hugin/hugin_syslog.c \
	$(top_srcdir)/plugingui/nativewindow_x11.cc \
	$(top_srcdir)/plugingui/nativewindow_win32.cc \
	$(top_srcdir)/plugingui/plugingui.cc \
	$(top_srcdir)/plugingui/label.cc \
	$(top_srcdir)/plugingui/eventhandler.cc \
	$(top_srcdir)/plugingui/font.cc \
	$(top_srcdir)/plugingui/window.cc \
	$(top_srcdir)/plugingui/widget.cc \
	$(top_srcdir)/plugingui/colour.cc \
	$(top_srcdir)/plugingui/painter.cc \
	$(top_srcdir)/plugingui/button.cc \
	$(top_srcdir)/plugingui/pixelbuffer.cc \
	$(top_srcdir)/plugingui/lineedit.cc \
	$(top_srcdir)/plugingui/led.cc \
	$(top_srcdir)/plugingui/checkbox.cc \
	$(top_srcdir)/plugingui/slider.cc \
	$(top_srcdir)/plugingui/scrollbar.cc \
	$(top_srcdir)/plugingui/listbox.cc \
	$(top_srcdir)/plugingui/listboxthin.cc \
	$(top_srcdir)/plugingui/listboxbasic.cc \
	$(top_srcdir)/plugingui/knob.cc \
	$(top_srcdir)/plugingui/filebrowser.cc \
	$(top_srcdir)/plugingui/directory.cc \
	$(top_srcdir)/plugingui/image.cc \
	$(top_srcdir)/plugingui/combobox.cc \
	$(top_srcdir)/plugingui/progressbar.cc \
	$(top_srcdir)/plugingui/verticalline.cc \
	$(top_srcdir)/plugingui/resource.cc \
	$(top_srcdir)/plugingui/resource_data.cc

GUI_CFLAGS=-I../plugingui -DUSE_THREAD
GUI_LIBS=-lgdi32 -lsetupapi -lws2_32

DBG_SRC = \
	$(top_srcdir)/hugin/hugin.c \
	$(top_srcdir)/hugin/hugin_syslog.c

DBG_CFLAGS=-DDISABLE_HUGIN -I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX -DEXPERIMENTAL
#
# http://old.nabble.com/using-VC%2B%2B-.lib-with-mingw-td23151303.html
# Given `-lfoo', the win32 build of GNU ld will search for libfoo.a and foo.lib
#

#MSYS="c:/mingw/msys/1.0/local"
MSYS=/local

EXPAT_BASE=${MSYS}
EXPAT_CFLAGS=-I${EXPAT_BASE}/include
EXPAT_LIBS=-L${EXPAT_BASE}/lib -lexpat
 
SNDFILE_BASE=${MSYS}
SNDFILE_CFLAGS=-I${SNDFILE_BASE}/include
SNDFILE_LIBS=-L${SNDFILE_BASE}/lib -lsndfile

PNG_BASE=${MSYS}
PNG_CFLAGS=-I${PNG_BASE}/include
PNG_LIBS=-L${PNG_BASE}/lib -lz

SRC = \
	drumgizmo_vst.cc \
	input_vst.cc \
	output_vst.cc

#######################
#
#CXXFLAGS=-DWIN32 $(EXPAT_CFLAGS) $(SNDFILE_CFLAGS) $(DG_CFLAGS) $(GUI_CFLAGS) $(DBG_CFLAGS) $(VST_CFLAGS)
#CFLAGS=$(CXXFLAGS)
#LDFLAGS=$(EXPAT_LIBS) $(SNDFILE_LIBS) $(GUI_LIBS) $(DBG_LIBS)
#
#C_SOURCES=$(DBG_SRC)
#CXX_SOURCES=$(GUI_SRC) $(DG_SRC)
#CPP_SOURCES=$(VST_SRC) 
#
#OBJECTS=$(CXX_SOURCES:.cc=.o) $(CPP_SOURCES:.cpp=.o) $(C_SOURCES:.c=.o)
#all: $(CXX_SOURCES) $(CPP_SOURCES) $(C_SOURCES) drumgizmo_vst.dll
#
#drumgizmo_vst.dll: $(OBJECTS)
#	g++ $(CXXFLAGS) $(OBJECTS) $(LDFLAGS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a
#
#%.o: %.cc
#	g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@)
#
#%.o: %.cpp
#	g++ -O3 -c $(CXXFLAGS) $(LDFLAGS) $< -o $(notdir $@)
#
#%.o: %.c
#	gcc -O3 -c $(CFLAGS) $(LDFLAGS) $< -o $@
#
#clean:
#	del -f $(notdir $(OBJECTS)) drumgizmo_vst.dll libdrumgizmo_vst.a
#
########################

 
all:
	gcc $(DBG_CFLAGS) $(top_srcdir)/hugin/hugin.c -c
	gcc $(DBG_CFLAGS) $(top_srcdir)/hugin/hugin_syslog.c -c
	g++ -static -static-libgcc -O2 -g -Wall -DWIN32 $(DBG_CFLAGS) $(DG_CFLAGS) $(DG_LIBS) $(VST_CFLAGS) hugin.o hugin_syslog.o $(DG_SRC) $(VST_SRC) ${SRC} ${GUI_SRC} ${GUI_CFLAGS} $(GUI_LIBS) $(EXPAT_CFLAGS) $(EXPAT_LIBS) $(SNDFILE_CFLAGS) $(SNDFILE_LIBS) -shared -o drumgizmo_vst.dll -Wl,--out-implib,libdrumgizmo_vst.a
 
clean:
	del -f drumgizmo_vst.dll libdrumgizmo_vst.a