1###############################################################################
2#
3# Makefile for quasi88/UNIX (FreeBSD, Linux, Mac OS X and so on...)
4#
5#	ɬ����GNU make ��ɬ�פǤ���
6#
7#			    ���� Makefile �κ����ˤ����äƤ� XMAME ��
8#			    makefile.unix��src/unix/unix.mak ���ͤˤ��ޤ�����
9#			    ����ѥ����Ϣ������ˤĤ��Ƥϡ��嵭�Υե������
10#			    ���ܤ���Ƥ��륳���Ȥ���Ω�Ĥ��⤷��ޤ���
11###############################################################################
12
13# X11�ǡ�SDL�ǤΤ����줫�����ꤷ�ޤ�
14#	X11�Ǥξ��ϡ���X11_VERSION�װʳ��ιԤ����ȥ����Ȥ��Ƥ���������
15#	SDL�Ǥξ��ϡ���SDL_VERSION�װʳ��ιԤ����ȥ����Ȥ��Ƥ���������
16#	GTK�Ǥξ��ϡ���GTK_VERSION�װʳ��ιԤ����ȥ����Ȥ��Ƥ���������
17#	( GTK�Ǥϼ¸���Ǥ���GTK�Ǥǥ�����ɤ��Ĥ餹�ˤϡ�SDL ��ɬ�פǤ� )
18
19# X11_VERSION	= 1
20# SDL_VERSION	= 1
21# GTK_VERSION	= 1
22
23
24#######################################################################
25# ��������
26#######################################################################
27
28
29# ROM�ѥǥ��쥯�ȥ�����ꤷ�ޤ�
30#	BASIC �� ROM���᡼�� ��������ǥ��쥯�ȥ�Ǥ���
31#	���ץ����Ǥλ���⡢�Ķ��ѿ��������̵�����ˡ����������ꤷ��
32#	�ǥ��쥯�ȥ꤬���Ѥ���ޤ���
33#	 ~/ �ϡ�QUASI88�ε�ư���˥ۡ���ǥ��쥯�ȥ��$HOME�ˤ�Ÿ������ޤ���
34
35ROMDIR	= ${DATADIR}/rom/
36
37
38# DISK�ѥǥ��쥯�ȥ�����ꤷ�ޤ�
39#	��ư���ˡ������ǻ��ꤷ�����᡼���ե���������ݤˡ�
40#	���Υե������������ǥ��쥯�ȥ�Ǥ���
41#	���ץ����Ǥλ���⡢�Ķ��ѿ��������̵�����ˡ����������ꤷ��
42#	�ǥ��쥯�ȥ꤬���Ѥ���ޤ���
43#	 ~/ �ϡ�QUASI88�ε�ư���˥ۡ���ǥ��쥯�ȥ��$HOME�ˤ�Ÿ������ޤ���
44
45DISKDIR	= ${DATADIR}/disk/
46
47
48# TAPE�ѥǥ��쥯�ȥ�����ꤷ�ޤ�
49#	TAPE �Υ��᡼�����֤��ǥ��쥯�ȥ�Ǥ���
50#	���ץ����Ǥλ���⡢�Ķ��ѿ��������̵�����ˡ����������ꤷ��
51#	�ǥ��쥯�ȥ꤬���Ѥ���ޤ���
52#	 ~/ �ϡ�QUASI88�ε�ư���˥ۡ���ǥ��쥯�ȥ��$HOME�ˤ�Ÿ������ޤ���
53
54TAPEDIR	= ${DATADIR}/tape/
55
56
57# (X11)
58# ��ȥ륨��ǥ�����ξ��λ���
59#	�ӥå�����ǥ�����ޥ���ξ��ϡ������ȥ����Ȥ��ޤ��礦��
60#	    �㤨�С�IRIX, AIX��Mac OS X(PowerPC) �ʤɤϡ������ȥ����Ȥ��ޤ���
61#		    Intel �Ϥ� CPU��Ȥä� OS �ʤɤϡ����Τޤޤˤ��Ƥ����ޤ���
62
63# X11_LSB_FIRST	= 1
64
65
66# (X11)
67# MIT-SHM ��Ȥ����ɤ����λ���
68#	MIT-SHM ���ݡ��Ȥ��Ƥʤ����ϡ������ȥ����Ȥ��ޤ��礦��
69
70X11_MITSHM	= 1
71
72
73
74# (X11)
75# long long �����ݡ��Ȥ��Ƥ��ʤ�����ѥ����Ȥ���硢�ʲ������ȥ�����
76# ���Ƥ��������� (����Υ���ѥ���ϥ��ݡ��Ȥ��Ƥ��롦�����ϥ�)
77
78X11_HAVE_LONG_LONG = 1
79
80
81
82# (X11)
83# �ؿ� gettimeofday() ��������Ƥ��ʤ������ƥ�ξ�硢�ʲ������ȥ�����
84# ���Ƥ��������� (����Υ����ƥ�ϼ������Ƥ��롦�����ϥ�)
85
86X11_HAVE_GETTIMEOFDAY = 1
87
88
89
90# (X11)
91# ���祤���ƥ��å����Ѥ�̵ͭ
92#	�ʲ��Τ����줫�ΰ�ĤΤߡ������Ȥ������Ȥ�����ޤ���
93#
94#	 ��X11_JOYSTICK = joy_nothing�פιԤΥ����ȥ����Ȥ����ȡ�
95#	���祤���ƥ��å��ϥ��ݡ��Ȥ���ޤ���
96#
97#	 ��X11_JOYSTICK = joy_sdl�פιԤΥ����ȥ����Ȥ����ȡ�
98#	SDL�饤�֥��ˤ�른�祤���ƥ��å���ǽ���Ȥ߹��ޤ�ޤ���
99#	( Linux �� FreeBSD��ư���ǧ�Ѥߡ��ºݤ˥��祤���ƥ��å����Ȥ��뤫
100#	  �ɤ����ϡ�SDL�饤�֥��˰�¸���ޤ���)
101#
102#	 ��X11_JOYSTICK = joy_linux_usb�פιԤΥ����ȥ����Ȥ����ȡ�
103#	Linux �ˤ� USB joystick �����ѤǤ��ޤ���
104#	( �Ķ��ˤ�äƤϡ����ѤǤ��ʤ����⤷��ޤ��� )
105#
106#	 ��X11_JOYSTICK = joy_bsd_usb�פιԤΥ����ȥ����Ȥ����ȡ�
107#	FreeBSD �ˤ� USB joystick �����ѤǤ��ޤ���
108#	( �Ķ��ˤ�äƤϡ�����ѥ��뤹��Ǥ��ʤ����⤷��ޤ��� )
109
110# X11_JOYSTICK	= joy_nothing
111# X11_JOYSTICK	= joy_sdl
112# X11_JOYSTICK	= joy_linux_usb
113# X11_JOYSTICK	= joy_bsd_usb
114
115
116
117# QUASI88 �Ǥϥ�˥塼�⡼�ɤˤƥ����꡼���ʥåץ���å� (���̥���ץ���)
118# ����¸����ǽ�Ǥ��������λ���ͽ����ꤷ��Ǥ�դΥ��ޥ�ɤ�¹Ԥ��뤳�Ȥ�
119# �Ǥ��ޤ���
120# ���Υ��ޥ�ɼ¹Ե�ǽ��̵���ˤ��������ϡ��ʲ������ȥ����Ȥ��Ʋ�������
121
122USE_SSS_CMD	= 1
123
124
125
126# �ʲ��ϡ���˥����⡼�� (�ǥХå��ѤΥ⡼��) �ε�ǽ����Ǥ���
127# �̾�ϥ�˥����⡼�ɤϻ��Ѥ��ʤ��Ȼפ���Τǡ��ä��ѹ���ɬ�פϤ���ޤ���
128#
129#	  MONITOR �ιԤ������ȥ����Ȥ���Ƥ�����ϡ���˥����⡼�ɤ�
130#	���ѤǤ��ޤ���
131#
132#	  ��˥����⡼�ɤˤơ�GNU Readline ����Ѥ����硢
133#	READLINE �ԤΥ����ȥ����Ȥ����ޤ���
134#
135#	  ��˥����⡼�ɤǤ������Ԥ����� Ctrl-D ������ QUASI88 �϶�����λ
136#	���Ƥ��ޤ��ޤ�����IRIX/AIX �Ǥϡ�IGNORE_C_D �ιԤΥ����ȥ����Ȥ�
137#	�����ȡ�Ctrl-D �����Ƥ⽪λ���ʤ��ʤ�ޤ���
138#	( IRIX/AIX �ʳ��Ǥϡ�ɬ�������ȥ����Ȥ��Ƥ����Ƥ���������)
139#
140
141# USE_MONITOR		= 1
142
143# MONITOR_READLINE	= 1
144# MONITOR_IGNORE_C_D	= 1
145# MONITOR_USE_LOCALE	= 1
146
147
148
149# PC-8801�Υ����ܡ��ɥХ����ߥ�졼�Ȥ��������ϡ�
150# �ʲ��Υ����ȥ����Ȥ����Ʋ�������
151
152# USE_KEYBOARD_BUG	= 1
153
154
155
156# (X11)
157# XFree86-DGA ������Ǥ�����̣�Τ������Ϥɤ���������
158#	XFree86-DGA��ͭ���ˤ���ˤϡ�root���¤�ɬ�פʤΤǡ�����ղ�������
159
160# X11_DGA		= 1
161
162
163
164# (X11)
165# XVideo ������Ǥ�����̣�Τ������Ϥɤ���������
166#	�ޤ��¸���Ǥ��� ���ޤ�ư���ʤ����⤷��ޤ���
167
168# X11_XV		= 1
169
170
171
172#######################################################################
173# ������ɴ�Ϣ������
174#######################################################################
175
176# MAME/XMAME �١����Υ�����ɽ��Ϥ��Ȥ߹��ޤʤ���硢�ʲ��ιԤ�
177# �����ȥ����Ȥ��Ʋ�������
178
179USE_SOUND		= 1
180
181
182
183# (X11)
184# OS ���
185#	�ɤ줫��Ĥ���ꤷ�Ƥ���������
186#	generic �����֤ȡ�������ɤʤ��ˤʤ�ޤ���
187#	�� �� ¾�����֤ȡ�������ɤ���ˤʤ���⤢��ޤ���
188#	ư���ǧ�����Ƥ���Τϡ�FreeBSD �� Linux �ΤߤǤ�
189
190#---------------------- FreeBSD
191ARCH = freebsd
192#---------------------- Linux
193# ARCH = linux
194#---------------------- NetBSD
195# ARCH = netbsd
196#---------------------- OpenBSD
197# ARCH = openbsd
198#---------------------- Solaris / SunOS
199# ARCH = solaris
200#---------------------- QNX Neutrino (QNX4/QNX6)
201# ARCH = nto
202#---------------------- OpenStep on NeXT systems
203# ARCH = next
204#---------------------- OpenStep on Apple systems (Cocoa)
205# ARCH = macosx
206#---------------------- IRIX ( with sound using the old AL (version 1) package)
207# ARCH = irix
208#---------------------- IRIX ( with sound using the al (IRIX 6.x) package)
209# ARCH = irix_al
210#---------------------- AIX ( with sound, you'll need the UMS and SOM lpp's installed ( under AIX4 ))
211# ARCH = aix
212#---------------------- BeOS on Intel
213# ARCH = beos
214#---------------------- generic UNIX, no sound
215# ARCH = generic
216
217
218
219# (X11)
220# ������ɥǥХ����λ���
221#	�ɲä������ǥХ���������С������ȥ����Ȥ����ޤ���
222#	�������ư���ǧ����Ƥ��ޤ���
223
224# SOUND_ESOUND		= 1
225# SOUND_ALSA		= 1
226# SOUND_ARTS_TEIRA	= 1
227# SOUND_ARTS_SMOTEK	= 1
228# SOUND_SDL		= 1
229# SOUND_WAVEOUT		= 1
230
231
232
233# QUASI88 ver 0.6.3 �����ˤƻ��Ѥ��Ƥ������Ť��С������� MAME/XMAME ��
234# ������ɽ��Ϥ���Ѥ��������ϡ��ʲ��Υ����ȥ����Ȥ����Ʋ�������
235#	ư���ɬ�פʥ꥽���������ʤ�Ȥʤ�ޤ���
236
237# USE_OLD_MAME_SOUND	= 1
238
239
240
241#######################################################################
242# fmgen (FM Sound Generator) ������
243#######################################################################
244
245# cisc���Ρ�fmgen (FM Sound Generator) ���Ȥ߹��ޤʤ���硢�ʲ��ιԤ�
246# �����ȥ����Ȥ��Ʋ�������
247
248USE_FMGEN	= 1
249
250
251# ��ա�
252#	FM Sound Generator �� C++ �ˤ���������Ƥ��ޤ���
253#	C++ �Υ���ѥ���������ʲ��ǹԤʤäƲ�������
254#
255# 	���ꤹ�٤����ܤϡ�CXX��CXXFLAGS��CXXLIBS ����� LD ������Ǥ���
256#
257
258
259
260#######################################################################
261# SDL�饤�֥�������
262#######################################################################
263
264# (X11/SDL/GTK)
265# �ʲ��ξ�硢SDL�饤�֥�꤬���Ѥ���ޤ���
266#	��SDL_VERSION �����������
267#	��GTK_VERSION ����������USE_SOUND = 1�פ���ꤷ�����
268#	�����祤���ƥ��å�������� ��X11_JOYSTICK = joy_sdl�פ���ꤷ�����
269#	��������ɤ�����ǡ���SOUND_SDL = 1�פ���ꤷ�����
270# �����Ǥϡ�sdl-config ��¹Ԥ��륳�ޥ�ɤ���ꤷ�Ƥ���������
271#	�̾��OS �ξ�硢sdl-config   �Τޤޤ�����פʤϤ��Ǥ���
272#	FreeBSD  �ξ�硢sdl12-config �ʤɤ˥�͡��व��Ƥ��뤳�Ȥ�����ޤ�
273
274# SDL_CONFIG	= sdl-config
275
276
277
278#######################################################################
279# GTK�饤�֥�������
280#######################################################################
281
282# (GTK)
283# GTK_VERSION �����������Τߡ��ʲ������꤬ɬ�פǤ���
284
285GTK_CONFIG	= gtk-config
286
287
288
289#######################################################################
290# ����ѥ����Ϣ������
291#######################################################################
292
293# ����ѥ���λ���
294
295CC	= ${_CC}
296
297
298# ɬ�פ˱����ơ�����ѥ��륪�ץ���� (��Ŭ���ʤ�) ����ꤷ�Ƥ�������
299#	${_CC} �ʤ顢 -fomit-frame-pointer �� -fstrength-reduce �� -ffast-math ��
300#	-funroll-loops �� -fstrict-aliasing �������֤κ�Ŭ�����ץ����Ǥ���
301#
302#	����ѥ���ˤ�äƤϡ�char �� signed char �Ȥߤʤ����꤬ɬ�פʾ�礬
303#	����ޤ���PowerPC �Ϥ� ${_CC} �ʤɤ������Ǥ��������ξ�硢-fsigned-char
304#	����ꤷ�ޤ���
305
306CFLAGS = ${_CFLAGS}
307
308# �㤨�� ${_CC} & PowerPC �ξ�硢�ʲ��Υ����ȥ����Ȥ����ޤ���
309# CFLAGS += -fsigned-char
310
311# �㤨�� ${_CC} �Ǻ�Ŭ����������硢�ʲ��Υ����ȥ����Ȥ����ޤ���
312# CFLAGS += -fomit-frame-pointer -fstrength-reduce -funroll-loops -ffast-math
313
314
315
316# ����ѥ���ˤ�äƤϡ�����饤��ؿ���Ȥ����Ȥ�����ޤ���
317#	�ʲ����顢Ŭ�ڤʤ�Τ��Ĥ������ꤷ�Ƥ���������
318#-------------------------------------------------- �ɤ�ʥ���ѥ���Ǥ�OK
319# USEINLINE	= '-DINLINE=static'
320#-------------------------------------------------- GCC ��
321USEINLINE	= '-DINLINE=static __inline__'
322#-------------------------------------------------- Intel C++ ����ѥ���ξ��
323# USEINLINE	= '-DINLINE=static inline'
324#--------------------------------------------------
325
326
327# X11 ��Ϣ�Υǥ��쥯�ȥ�ȥ饤�֥������
328
329# �����Υ����ƥ� (?)
330# X11INC  	= -I/usr/include/X11
331# X11LIB  	= -L/usr/lib/X11
332
333# XFree86 �� (?)
334# X11INC  	= -I${LOCALBASE}/include
335# X11LIB  	= -L${LOCALBASE}/lib
336
337# X.Org ��
338X11INC  	= -I/usr/local/include
339X11LIB  	= -L/usr/local/lib
340
341
342
343
344
345# C++ ����ѥ��������
346#
347#	�������꤬ɬ�פʤΤϡ� fmgen ���Ȥ߹�����ΤߤǤ���
348#	${_CC} �Ϥ���Τ� ${_CXX} ��̵����硢��CXX = ${_CC}�פȤ��ƤߤƤ���������
349
350CXX	 = ${_CXX}
351CXXFLAGS = $(CFLAGS)
352# CXXLIBS	 = -lstdc++
353
354
355# ���������
356#	C++ ����ѥ����Ȥ���硢�Ķ��ˤ�äƤ� $(CXX) �Ȥ���ɬ�פ�
357#	���뤫�⤷��ޤ���
358
359# LD	= $(CC) -Wl,-s
360# LD	= $(CXX) -Wl,-s
361
362
363#######################################################################
364# �����ȡ��������
365#######################################################################
366
367# �����ȡ�����ǥ��쥯�ȥ������
368#
369
370BINDIR = /usr/local/bin
371
372
373
374###############################################################################
375#
376# �Խ������Ĥ��줵�ޤǤ�����
377# ����ʹߤϡ��ѹ����פΤϤ��Ǥ���¿ʬ������
378#
379###############################################################################
380
381######## �¸����줳��
382
383# �����ȥ����Ȥ���ȡ����� bpp �� X�Ķ��ˤ�����ư����ǽ�ˤʤ�¸�
384
385X11_SUPPORT_8BPP	= 1
386X11_SUPPORT_16BPP	= 1
387X11_SUPPORT_32BPP	= 1
388
389# �����ȥ����Ȥ���ȡ��ܥ������Ǥ�ɽ�����Ǥ��ʤ��ʤ�¸�
390
391SUPPORT_DOUBLE		= 1
392
393# �����ȥ����Ȥ���ȡ�utf-8 �Υ��ݡ��Ȥ��ʤ��ʤ�¸�
394
395SUPPORT_UTF8		= 1
396
397# ���ߡ�����ѥ���μ¸�
398#	X11_VERSION, SDL_VERSION, GTK_VERSION �Τ������������ʤ���硢
399#	src/MINI �ʲ��Υ�������Ȥäơ����ߡ��Υ���ѥ��뤬�¹Ԥ���롣
400#	�������̵���ˤ��뤫�� 'ARCH = generic' ����ꤷ�Ƥ������ȡ�
401
402
403
404#######################################################################
405#
406#######################################################################
407
408# �����롼�ɥǥ��쥯�ȥ�
409
410CFLAGS += -Isrc
411
412
413#
414# ��������������
415#
416
417ifdef	X11_VERSION
418
419# X11 �С������Ǥ�����
420
421CFLAGS += -Isrc/FUNIX -Isrc/X11 $(X11INC)
422LIBS   += $(X11LIB) -lX11 -lXext
423
424# X11�С�������ɽ���ޤ��
425
426ifdef	X11_MITSHM
427CFLAGS += -DMITSHM
428endif
429
430ifdef	X11_DGA
431CFLAGS += -DUSE_DGA
432LIBS   += -lXxf86dga -lXxf86vm
433endif
434
435ifdef	X11_XV
436CFLAGS += -DUSE_XV
437LIBS   += -lXv
438endif
439
440ifdef	X11_SUPPORT_8BPP
441CFLAGS += -DSUPPORT_8BPP
442endif
443ifdef	X11_SUPPORT_16BPP
444CFLAGS += -DSUPPORT_16BPP
445endif
446ifdef	X11_SUPPORT_32BPP
447CFLAGS += -DSUPPORT_32BPP
448endif
449
450# X11�С������ǤΥ��祤���ƥ��å�����
451
452ifeq ($(X11_JOYSTICK),joy_sdl)
453
454CFLAGS += -DJOY_SDL `$(SDL_CONFIG) --cflags`
455LIBS   +=           `$(SDL_CONFIG) --libs`
456
457else
458
459ifeq ($(X11_JOYSTICK),joy_linux_usb)
460CFLAGS += -DJOY_LINUX_USB
461else
462
463ifeq ($(X11_JOYSTICK),joy_bsd_usb)
464
465CFLAGS += -DJOY_BSD_USB
466
467ifeq ($(shell test -f /usr/include/usbhid.h && echo have_usbhid), have_usbhid)
468CFLAGS += -DHAVE_USBHID_H
469LIBS   += -lusbhid
470else
471ifeq ($(shell test -f /usr/include/libusbhid.h && echo have_libusbhid), have_libusbhid)
472CFLAGS += -DHAVE_LIBUSBHID_H
473LIBS   += -lusbhid
474else
475LIBS   += -lusb
476endif
477endif
478
479else
480CFLAGS += -DJOY_NOTHING
481endif
482
483endif
484endif
485
486# X11�С������Ǥλ�¿������
487
488ifdef	X11_LSB_FIRST
489CFLAGS += -DLSB_FIRST
490endif
491
492ifdef	X11_HAVE_LONG_LONG
493CFLAGS += -DHAVE_LONG_LONG
494endif
495
496ifdef	X11_HAVE_GETTIMEOFDAY
497CFLAGS += -DHAVE_GETTIMEOFDAY
498endif
499
500ifdef	HAVE_SELECT
501CFLAGS += -DHAVE_SELECT
502endif
503
504
505CFLAGS += -DQUASI88_X11
506
507
508
509else
510ifdef	SDL_VERSION
511
512# SDL�С������Ǥ�����
513
514CFLAGS += -Isrc/FUNIX -Isrc/SDL `$(SDL_CONFIG) --cflags`
515LIBS   +=                       `$(SDL_CONFIG) --libs`
516
517CFLAGS += -DQUASI88_SDL
518
519else
520ifdef	GTK_VERSION
521
522# GTK�С������Ǥ�����
523
524CFLAGS += -Isrc/FUNIX -Isrc/GTK `$(GTK_CONFIG) --cflags`
525LIBS   +=                       `$(GTK_CONFIG) --libs`
526
527CFLAGS += -DQUASI88_GTK
528
529else
530
531# MINI�С������Ǥ�����
532
533CFLAGS +=  -Isrc/FDUMMY -Isrc/MINI
534
535CFLAGS += -DQUASI88_MINI
536
537endif
538endif
539endif
540
541
542
543# ��˥����⡼��ͭ����������
544
545
546ifdef	USE_MONITOR
547CFLAGS += -DUSE_MONITOR
548
549ifdef	MONITOR_READLINE
550CFLAGS += -DUSE_GNU_READLINE
551LIBS   += -lreadline -lncurses
552endif
553
554ifdef	MONITOR_IGNORE_C_D
555CFLAGS += -DIGNORE_CTRL_D
556endif
557
558ifdef	MONITOR_USE_LOCALE
559CFLAGS += -DUSE_LOCALE
560endif
561
562endif
563
564
565# ����¾
566
567ifdef	SUPPORT_DOUBLE
568CFLAGS += -DSUPPORT_DOUBLE
569endif
570
571ifdef	SUPPORT_UTF8
572CFLAGS += -DSUPPORT_UTF8
573endif
574
575ifdef	USE_SSS_CMD
576CFLAGS += -DUSE_SSS_CMD
577endif
578
579ifdef	USE_KEYBOARD_BUG
580CFLAGS += -DUSE_KEYBOARD_BUG
581endif
582
583
584
585
586
587#######################################################################
588# ������ɤ�ͭ���ˤʤäƤ�����γƼ����
589#	�����Ǥϡ�
590#		SOUND_OBJS
591#		SOUND_LIBS
592#		SOUND_CFLAGS
593#	���������롣
594#######################################################################
595ifdef	USE_SOUND
596
597#
598# �������ͭ�����Ρ��ɲå��֥������� ( OS��¸�� + ������ )
599#
600
601#### �ǥ��쥯�ȥ�
602
603ifdef	USE_OLD_MAME_SOUND
604SNDDRV_DIR	= snddrv-old
605else
606SNDDRV_DIR	= snddrv
607endif
608
609SD_Q88_DIR	= $(SNDDRV_DIR)/quasi88
610SD_X11_DIR	= $(SNDDRV_DIR)/quasi88/X11
611SD_SDL_DIR	= $(SNDDRV_DIR)/quasi88/SDL
612
613SRC_DIR		= $(SNDDRV_DIR)/src
614SOUND_DIR	= $(SNDDRV_DIR)/src/sound
615UNIX_DIR	= $(SNDDRV_DIR)/src/unix
616SYSDEP_DIR	= $(SNDDRV_DIR)/src/unix/sysdep
617DSP_DIR		= $(SNDDRV_DIR)/src/unix/sysdep/dsp-drivers
618MIXER_DIR	= $(SNDDRV_DIR)/src/unix/sysdep/mixer-drivers
619
620
621#### ���֥�������
622
623SOUND_OBJS_BASE	= $(SD_Q88_DIR)/mame-quasi88.o	\
624		  $(SD_Q88_DIR)/beepintf.o	\
625		  $(SD_Q88_DIR)/beep.o		\
626		  $(SRC_DIR)/driver.o		\
627		  $(SRC_DIR)/restrack.o		\
628		  $(SRC_DIR)/sound.o		\
629		  $(SRC_DIR)/sndintrf.o		\
630		  $(SRC_DIR)/streams.o		\
631		  $(SOUND_DIR)/flt_vol.o	\
632		  $(SOUND_DIR)/flt_rc.o		\
633		  $(SOUND_DIR)/wavwrite.o	\
634		  $(SOUND_DIR)/2203intf.o	\
635		  $(SOUND_DIR)/2608intf.o	\
636		  $(SOUND_DIR)/ay8910.o		\
637		  $(SOUND_DIR)/fm.o		\
638		  $(SOUND_DIR)/ymdeltat.o	\
639		  $(SOUND_DIR)/samples.o
640
641SOUND_OBJS_UNIX	= $(UNIX_DIR)/sound.o			\
642		  $(SYSDEP_DIR)/rc.o			\
643		  $(SYSDEP_DIR)/misc.o			\
644		  $(SYSDEP_DIR)/plugin_manager.o	\
645		  $(SYSDEP_DIR)/sysdep_dsp.o		\
646		  $(SYSDEP_DIR)/sysdep_mixer.o		\
647		  $(SYSDEP_DIR)/sysdep_sound_stream.o
648
649SOUND_OBJS.linux   = $(DSP_DIR)/oss.o $(MIXER_DIR)/oss.o
650SOUND_OBJS.freebsd = $(DSP_DIR)/oss.o $(MIXER_DIR)/oss.o
651SOUND_OBJS.netbsd  = $(DSP_DIR)/netbsd.o
652#SOUND_OBJS.openbsd = $(DSP_DIR)/oss.o $(MIXER_DIR)/oss.o
653SOUND_OBJS.openbsd = $(DSP_DIR)/netbsd.o
654SOUND_OBJS.solaris = $(DSP_DIR)/solaris.o $(MIXER_DIR)/solaris.o
655SOUND_OBJS.next    = $(DSP_DIR)/soundkit.o
656SOUND_OBJS.macosx  = $(DSP_DIR)/coreaudio.o
657SOUND_OBJS.nto     = $(DSP_DIR)/io-audio.o
658SOUND_OBJS.irix    = $(DSP_DIR)/irix.o
659SOUND_OBJS.irix_al = $(DSP_DIR)/irix_al.o
660SOUND_OBJS.beos    =
661SOUND_OBJS.generic =
662#these need to be converted to plugins first
663#SOUND_OBJS.aix     = $(DSP_DIR)/aix.o
664
665
666#### C�ե饰
667
668CFLAGS           += -DUSE_SOUND
669
670SOUND_CFLAGS      = -DPI=M_PI -I$(SRCDIR)/$(SNDDRV_DIR) -I$(SRCDIR)/$(SD_Q88_DIR) -I$(SRCDIR)/$(SRC_DIR) -I$(SRCDIR)/$(SOUND_DIR) -Wno-missing-declarations -Wno-unused
671
672SOUND_CFLAGS_UNIX = -I$(SRCDIR)/$(SD_X11_DIR) -I$(SRCDIR)/$(UNIX_DIR) -I$(SRCDIR)/$(SYSDEP_DIR) -I$(SRCDIR)/$(DSP_DIR) -I$(SRCDIR)/$(MIXER_DIR)
673
674
675#### ��������������
676
677ifdef	X11_VERSION
678
679#
680# X11 �С������ǤΥ����������
681#
682
683SOUND_OBJS	= $(SOUND_OBJS_BASE)		\
684		  $(SD_X11_DIR)/audio.o		\
685		  $(SOUND_OBJS_UNIX)		\
686		  $(SOUND_OBJS.$(ARCH))
687
688
689#
690# �������ͭ�����Υ���ѥ��륪�ץ����
691#	-DHAVE_SNPRINTF, -DHAVE_VSNPRINTF �����פΤϤ���
692
693CFLAGS.linux      = -DSYSDEP_DSP_OSS -DSYSDEP_MIXER_OSS -DHAVE_SNPRINTF -DHAVE_VSNPRINTF
694CFLAGS.freebsd    = -DSYSDEP_DSP_OSS -DSYSDEP_MIXER_OSS -DHAVE_SNPRINTF -DHAVE_VSNPRINTF
695CFLAGS.netbsd     = -DSYSDEP_DSP_NETBSD -DHAVE_SNPRINTF -DHAVE_VSNPRINTF
696CFLAGS.openbsd    = -DSYSDEP_DSP_NETBSD -DHAVE_SNPRINTF -DHAVE_VSNPRINTF
697CFLAGS.solaris    = -DSYSDEP_DSP_SOLARIS -DSYSDEP_MIXER_SOLARIS
698CFLAGS.next       = -DSYSDEP_DSP_SOUNDKIT -DBSD43
699CFLAGS.macosx     = -DSYSDEP_DSP_COREAUDIO
700CFLAGS.nto        = -DSYSDEP_DSP_ALSA -DSYSDEP_MIXER_ALSA
701CFLAGS.irix       = -DSYSDEP_DSP_IRIX -DHAVE_SNPRINTF
702CFLAGS.irix_al    = -DSYSDEP_DSP_IRIX -DHAVE_SNPRINTF
703CFLAGS.beos       = `$(SDL_CONFIG) --cflags` -DSYSDEP_DSP_SDL
704CFLAGS.generic    =
705#these need to be converted to plugins first
706#CFLAGS.aix        = -DSYSDEP_DSP_AIX -I/usr/include/UMS -I/usr/lpp/som/include
707
708SOUND_CFLAGS	+= -D__ARCH_$(ARCH) $(CFLAGS.$(ARCH)) $(SOUND_CFLAGS_UNIX)
709
710
711#
712# �������ͭ�����Υ饤�֥�����
713#	�ط�̵���Τ�ޤޤ�Ƥ������ġġ�
714
715LIBS.solaris       = -lnsl -lsocket
716LIBS.irix          = -laudio
717LIBS.irix_al       = -laudio
718LIBS.aix           = -lUMSobj
719LIBS.next	   = -framework SoundKit
720LIBS.macosx	   = -framework CoreAudio
721#LIBS.macosx	   = -framework AudioUnit -framework CoreServices
722#LIBS.openbsd       = -lossaudio
723LIBS.nto	   = -lsocket -lasound
724LIBS.beos          = `$(SDL_CONFIG) --libs`
725
726SOUND_LIBS	= -lm $(LIBS.$(ARCH))
727
728
729#
730# �ɲå�����ɥǥХ���������Ρ��ɲ�����
731#
732
733ifdef SOUND_ESOUND
734SOUND_CFLAGS += -DSYSDEP_DSP_ESOUND `esd-config --cflags`
735SOUND_LIBS   += `esd-config --libs`
736SOUND_OBJS   += $(DSP_DIR)/esound.o
737endif
738
739ifdef SOUND_ALSA
740SOUND_CFLAGS += -DSYSDEP_DSP_ALSA -DSYSDEP_MIXER_ALSA
741SOUND_LIBS   += -lasound
742SOUND_OBJS   += $(DSP_DIR)/alsa.o $(MIXER_DIR)/alsa.o
743endif
744
745ifdef SOUND_ARTS_TEIRA
746SOUND_CFLAGS += -DSYSDEP_DSP_ARTS_TEIRA `artsc-config --cflags`
747SOUND_LIBS   += `artsc-config --libs`
748SOUND_OBJS   += $(DSP_DIR)/artssound.o
749endif
750
751ifdef SOUND_ARTS_SMOTEK
752SOUND_CFLAGS += -DSYSDEP_DSP_ARTS_SMOTEK `artsc-config --cflags`
753SOUND_LIBS   += `artsc-config --libs`
754SOUND_OBJS   += $(DSP_DIR)/arts.o
755endif
756
757ifdef SOUND_SDL
758SOUND_CFLAGS += -DSYSDEP_DSP_SDL `$(SDL_CONFIG) --cflags`
759SOUND_LIBS   += `$(SDL_CONFIG) --libs`
760SOUND_OBJS   += $(DSP_DIR)/sdl.o
761endif
762
763ifdef SOUND_WAVEOUT
764SOUND_CFLAGS += -DSYSDEP_DSP_WAVEOUT
765SOUND_OBJS   += $(DSP_DIR)/waveout.o
766endif
767
768
769
770else
771ifdef	SDL_VERSION
772
773#
774# SDL �С������ǤΥ����������
775#
776
777SOUND_OBJS	= $(SOUND_OBJS_BASE)		\
778		  $(SD_SDL_DIR)/audio.o		\
779		  $(SD_SDL_DIR)/sdl.o
780
781SOUND_CFLAGS	+= -I$(SRCDIR)/$(SD_SDL_DIR) -DSYSDEP_DSP_SDL
782
783else
784ifdef	GTK_VERSION
785
786#
787# GTK �С������ǤΥ����������
788#	SDL �ˤ��Ĥ餹���Ȥˤ���
789
790SOUND_OBJS	= $(SOUND_OBJS_BASE)		\
791		  $(SD_SDL_DIR)/audio.o		\
792		  $(SD_SDL_DIR)/sdl.o
793SOUND_CFLAGS	+= -I$(SRCDIR)/$(SD_SDL_DIR) -DSYSDEP_DSP_SDL `$(SDL_CONFIG) --cflags`
794SOUND_LIBS	+= `$(SDL_CONFIG) --libs`
795
796
797#	OSS���Ĥ餽���Ȥ��������Υ������餱�Ǥ��ޤ��Ĥ�ʤ��ġ�
798
799#SOUND_OBJS	= $(SOUND_OBJS_BASE)		\
800#		  $(SD_X11_DIR)/audio.o		\
801#		  $(SOUND_OBJS_UNIX)		\
802#		  $(SOUND_OBJS.$(ARCH))
803#SOUND_CFLAGS	+= -D__ARCH_$(ARCH) -DSYSDEP_DSP_OSS -DSYSDEP_MIXER_OSS -DHAVE_SNPRINTF -DHAVE_VSNPRINTF $(SOUND_CFLAGS_UNIX)
804#SOUND_LIBS	= -lm
805
806else
807
808#
809# MINI �С������ǤΥ����������
810#	����ѥ��븡�ڤΤߡ����ϽФʤ�
811
812SOUND_OBJS	= $(SOUND_OBJS_BASE)	\
813		  MINI/audio.o
814#SOUND_CFLAGS	+=
815SOUND_LIBS	= -lm
816
817endif
818endif
819endif
820
821
822
823
824#### fmgen �����������
825
826ifdef	USE_FMGEN
827
828FMGEN_DIR	= fmgen
829FMGEN_OBJ	= $(SD_Q88_DIR)/2203fmgen.o	\
830		  $(SD_Q88_DIR)/2608fmgen.o	\
831		  $(FMGEN_DIR)/fmgen.o		\
832		  $(FMGEN_DIR)/fmtimer.o	\
833		  $(FMGEN_DIR)/opna.o		\
834		  $(FMGEN_DIR)/psg.o
835
836CFLAGS		+= -DUSE_FMGEN
837
838SOUND_CFLAGS	+= -I$(SRCDIR)/$(FMGEN_DIR)
839
840SOUND_OBJS	+= $(FMGEN_OBJ)
841
842SOUND_LIBS	+= $(CXXLIBS)
843
844endif
845
846endif
847
848
849
850#######################################################################
851#
852#######################################################################
853
854
855ifdef	X11_VERSION
856# PROGRAM = quasi88
857else
858ifdef	SDL_VERSION
859# PROGRAM = quasi88.sdl
860else
861ifdef	GTK_VERSION
862# PROGRAM = quasi88.gtk
863else
864# PROGRAM = quasi88.mini
865endif
866endif
867endif
868
869
870
871ifdef	X11_VERSION
872OBJECT = X11/graph.o X11/wait.o X11/event.o X11/joystick.o X11/main.o FUNIX/file-op.o
873else
874ifdef	SDL_VERSION
875OBJECT = SDL/graph.o SDL/wait.o SDL/event.o SDL/main.o FUNIX/file-op.o
876else
877ifdef	GTK_VERSION
878OBJECT = GTK/graph.o GTK/wait.o GTK/event.o GTK/main.o GTK/menubar.o FUNIX/file-op.o
879else
880OBJECT = MINI/graph.o MINI/wait.o MINI/event.o MINI/main.o FDUMMY/file-op.o
881endif
882endif
883endif
884
885
886
887OBJECT += quasi88.o emu.o memory.o status.o getconf.o \
888	  pc88main.o crtcdmac.o soundbd.o pio.o screen.o intr.o \
889	  pc88sub.o fdc.o image.o monitor.o basic.o \
890	  menu.o menu-screen.o q8tk.o q8tk-glib.o suspend.o \
891	  keyboard.o romaji.o pause.o \
892	  z80.o z80-debug.o snapshot.o \
893	  screen-8bpp.o screen-16bpp.o screen-32bpp.o screen-snapshot.o \
894	  $(SOUND_OBJS)
895
896CFLAGS += -DROM_DIR='"$(ROMDIR)"' -DDISK_DIR='"$(DISKDIR)"' \
897	  -DTAPE_DIR='"$(TAPEDIR)"' $(USEINLINE) -DCLIB_DECL=
898
899CXXFLAGS += -Wno-narrowing $(CFLAGS)
900
901LIBS   += $(SOUND_LIBS)
902
903###
904
905SRCDIR		= src
906
907ifdef	X11_VERSION
908OBJDIR		= obj
909OBJDIRS		+= $(OBJDIR) $(OBJDIR)/X11 $(OBJDIR)/FUNIX
910else
911ifdef	SDL_VERSION
912OBJDIR		= obj.sdl
913OBJDIRS		+= $(OBJDIR) $(OBJDIR)/SDL $(OBJDIR)/FUNIX
914else
915ifdef	GTK_VERSION
916OBJDIR		= obj.gtk
917OBJDIRS		+= $(OBJDIR) $(OBJDIR)/GTK $(OBJDIR)/FUNIX
918else
919OBJDIR		= obj.mini
920OBJDIRS		+= $(OBJDIR) $(OBJDIR)/MINI $(OBJDIR)/FDUMMY
921endif
922endif
923endif
924
925OBJDIRS		+= $(addprefix $(OBJDIR)/, \
926		  	$(SNDDRV_DIR) $(FMGEN_DIR) \
927		  	$(SD_Q88_DIR) $(SD_X11_DIR) $(SD_SDL_DIR) \
928			$(SRC_DIR) $(SOUND_DIR) $(UNIX_DIR) \
929			$(SYSDEP_DIR) $(DSP_DIR) $(MIXER_DIR) )
930
931OBJECTS		= $(addprefix $(OBJDIR)/, $(OBJECT) )
932
933
934
935###
936
937all:		$(OBJDIRS) $(PROGRAM)
938
939$(OBJDIRS):
940		-mkdir $@
941
942$(PROGRAM):	$(OBJECTS)
943		$(LD) $(OBJECTS) $(LIBS) -o $(PROGRAM)
944
945
946$(OBJDIR)/$(SNDDRV_DIR)/%.o: $(SRCDIR)/$(SNDDRV_DIR)/%.c
947		$(CC) $(CFLAGS) $(SOUND_CFLAGS) -o $@ -c $<
948
949$(OBJDIR)/$(SNDDRV_DIR)/%.o: $(SRCDIR)/$(SNDDRV_DIR)/%.m
950		$(CC) $(CFLAGS) $(SOUND_CFLAGS) -o $@ -c $<
951
952$(OBJDIR)/$(SNDDRV_DIR)/%.o: $(SRCDIR)/$(SNDDRV_DIR)/%.cpp
953		$(CXX) $(CXXFLAGS) $(SOUND_CFLAGS) -o $@ -c $<
954
955$(OBJDIR)/$(FMGEN_DIR)/%.o: $(SRCDIR)/$(FMGEN_DIR)/%.cpp
956		$(CXX) $(CXXFLAGS) $(SOUND_CFLAGS) -o $@ -c $<
957
958
959$(OBJDIR)/%.o: $(SRCDIR)/%.c
960		$(CC) $(CFLAGS) -o $@ -c $<
961
962$(OBJDIR)/%.o: $(SRCDIR)/%.m
963		$(CC) $(CFLAGS) -o $@ -c $<
964
965$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
966		$(CXX) $(CXXFLAGS) -o $@ -c $<
967
968
969$(OBJDIR)/%.s: $(SRCDIR)/%.c
970		$(CC) $(CFLAGS) $(SOUND_CFLAGS) -o $@ -S $<
971
972
973clean:
974		rm -rf $(OBJDIR) $(PROGRAM) $(PROGRAM).core
975
976debug:
977		@echo Makefile Debug Target is here.
978
979
980#
981# �����ȡ���˴ؤ�������
982#
983
984INSTALL_TARGET = install-nosuid
985ifdef	X11_VERSION
986ifdef	X11_DGA
987INSTALL_TARGET = install-suid
988endif
989endif
990
991
992install:	$(INSTALL_TARGET)
993
994install-nosuid:
995		@echo installing binaries under $(BINDIR)...
996		@cp $(PROGRAM) $(BINDIR)
997
998install-suid:
999		@echo installing binaries under $(BINDIR)...
1000		@cp $(PROGRAM) $(BINDIR)
1001		@chmod 4555 $(BINDIR)/$(PROGRAM)
1002
1003
1004#
1005#
1006#
1007
1008
1009#
1010# �ե�����ΰ�¸�ط��ι���
1011#
1012#	make depend ����С� Makefile.depend ������(����)����ޤ���
1013#
1014
1015SOURCES		= $(subst $(OBJDIR)/, src/, $(OBJECTS) )
1016SOURCES		:= $(patsubst %.o, %.c, $(SOURCES) )
1017SOURCES		:= $(patsubst src/fmgen/%.c, src/fmgen/%.cpp, $(SOURCES) )
1018SOURCES		:= $(subst src/snddrv/quasi88/2203fmgen.c, src/snddrv/quasi88/2203fmgen.cpp, $(SOURCES) )
1019SOURCES		:= $(subst src/snddrv/quasi88/2608fmgen.c, src/snddrv/quasi88/2608fmgen.cpp, $(SOURCES) )
1020
1021TMP_FILE = Makefile.tmp
1022DEP_FILE = Makefile.depend
1023
1024depend:
1025		-@${_CC} -MM $(CFLAGS) $(SOUND_CFLAGS) $(SOURCES) > $(TMP_FILE)
1026		-@echo '# This file is generated by ${_CC}' >  $(DEP_FILE)
1027		-@echo '#   Do not edit !'               >> $(DEP_FILE)
1028		-@echo                                   >> $(DEP_FILE)
1029		-@perl -ane 'if (/:/) { @L = split(); $$Z = substr( $$L[1], 0, rindex( $$L[1], "/" ) ); $$Z =~ s/^src/$(OBJDIR)/; $$L[0] = $$Z . "/" . $$L[0]; $$_ = join( " ", @L ); print "$$_\n"; } else { print "$$_"; }' $(TMP_FILE) >> $(DEP_FILE)
1030		-@rm -f $(TMP_FILE)
1031
1032
1033-include $(DEP_FILE)
1034