summaryrefslogtreecommitdiff
path: root/vst/Makefile.mingw32
blob: 7847322b76352c9c453050295273771e718ae3e0 (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
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 = \
	${DG_BASE}/src/audiofile.cc \
	${DG_BASE}/src/configuration.cc \
	${DG_BASE}/src/channel.cc \
	${DG_BASE}/src/channelmixer.cc \
	${DG_BASE}/src/drumgizmo.cc \
	${DG_BASE}/src/drumkit.cc \
	${DG_BASE}/src/drumkitloader.cc \
	${DG_BASE}/src/drumkitparser.cc \
	${DG_BASE}/src/events.cc \
	${DG_BASE}/src/instrument.cc \
	${DG_BASE}/src/instrumentparser.cc \
	${DG_BASE}/src/midimapparser.cc \
	${DG_BASE}/src/midimapper.cc \
	${DG_BASE}/src/mutex.cc \
	${DG_BASE}/src/path.cc \
	${DG_BASE}/src/sample.cc \
	${DG_BASE}/src/saxparser.cc \
	${DG_BASE}/src/semaphore.cc \
	${DG_BASE}/src/thread.cc \
	${DG_BASE}/src/velocity.cc
DG_CFLAGS = -I../include -I../src -DSSE -msse -msse2

GUI_SRC = \
	$(DG_BASE)/plugingui/plugingui.cc \
	$(DG_BASE)/plugingui/globalcontext.cc \
	$(DG_BASE)/plugingui/label.cc \
	$(DG_BASE)/plugingui/eventhandler.cc \
	$(DG_BASE)/plugingui/font.cc \
	$(DG_BASE)/plugingui/window.cc \
	$(DG_BASE)/plugingui/nativewindow_win32.cc \
	$(DG_BASE)/plugingui/widget.cc \
	$(DG_BASE)/plugingui/colour.cc \
	$(DG_BASE)/plugingui/painter.cc \
	$(DG_BASE)/plugingui/button.cc \
	$(DG_BASE)/plugingui/pixelbuffer.cc \
	$(DG_BASE)/plugingui/filelineedit.cc \
	$(DG_BASE)/plugingui/lineedit.cc \
	$(DG_BASE)/plugingui/led.cc \
	$(DG_BASE)/plugingui/checkbox.cc \
	$(DG_BASE)/plugingui/slider.cc \
	$(DG_BASE)/plugingui/listbox.cc \
	$(DG_BASE)/plugingui/knob.cc \
	$(DG_BASE)/plugingui/filebrowser.cc \
	$(DG_BASE)/plugingui/combobox.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=-I../hugin -DWITH_HUG_SYSLOG -DWITH_HUG_MUTEX
#
# 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
#

EXPAT_BASE=c:/expat
EXPAT_CFLAGS=-I${EXPAT_BASE}/Source/lib
EXPAT_LIBS=-L${EXPAT_BASE}/Bin -llibexpat

SNDFILE_BASE=c:/libsndfile
SNDFILE_CFLAGS=-I${SNDFILE_BASE}/include
SNDFILE_LIBS=-L${SNDFILE_BASE}/lib -llibsndfile-1

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++ -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