#
# FM-7 EMULATOR "XM7" series
#
# Copyright (C) 1999-2014 ohD(yasushi@tanaka.net)
# Copyright (C) 2001-2014 Ryu Takegami
# Copyright (C) 2010-2014 Ben.JP
# Copyright (C) 2010-2014 Toma
#
# [ Makefile of Internationalization DLL for Borland C++ ]
# Created by Ben.JP 2010-2014
# Updated by Toma        2014
#

#
# Version Definitions
#

!ifndef XM7_VER
XM7_VER		= 1
#XM7_VER		= 2
#XM7_VER		= 3
!endif

#
# Option Definitions
#

!ifndef TARGET_APP
TARGET_APP	= XM7
#TARGET_APP	= XM7LP
#TARGET_APP	= XM7dash
!endif

!ifndef TARGET_VER
TARGET_VER = V1
#TARGET_VER = V2
#TARGET_VER = V2T
#TARGET_VER = V3
!endif

#
# Option Settings
#

!ifdef TARGET_OPT
!if $(TARGET_OPT) == BETA
BETA_OPTION	= -DJSUB -DRSTATE
!endif
!endif

!if $(TARGET_APP) == XM7dash
!if $(TARGET_VER) == V1
DASH_OPTION	= -DSFDC
!else
DASH_OPTION	= -DJSUB -DJCARD $(BETA_OPTION)
!endif
!endif

!if $(TARGET_APP) == XM7
DERIVATIVE_OPTION = 																# for XM7 (Original)
!elif $(TARGET_APP) == XM7LP
DERIVATIVE_OPTION = -DLPRINT														# for XM7LP
!elif $(TARGET_APP) == XM7dash
DERIVATIVE_OPTION = -DXM7DASH -DFMDLL -DFILTERDLL $(DASH_OPTION)					# for XM7dash
!endif

!if $(TARGET_VER) == V1
XM7_VER = 1
OPTION		= -DMOUSE -DROMEO -DFDDSND -DMIDI -DRSC -DL4CARD -DJSUB -DBUBBLE $(DERIVATIVE_OPTION)	# V1
!elif $(TARGET_VER) == V2
XM7_VER = 2
OPTION		= -DMOUSE -DROMEO -DFDDSND -DMIDI -DRSC $(DERIVATIVE_OPTION)							# V2
!elif $(TARGET_VER) == V2T
XM7_VER = 2
OPTION		= -DMOUSE -DROMEO -DFDDSND -DMIDI -DRSC -DFMTV151 $(DERIVATIVE_OPTION)					# V2T
!elif $(TARGET_VER) == V3
XM7_VER = 3
OPTION		= -DMOUSE -DROMEO -DFDDSND -DMIDI -DRSC -DMR2 $(DERIVATIVE_OPTION)						# V3
!endif

#
# Codepage Setting
#
# Specify Codepage ID of the target language.
# ex.) ANSI Latin-1 (Western European Langueages) = 1252.
#      OEM US (English) = 437, OEM Japanese = 932,
#      Unicode (UTF-8) = 65001.
# Refer to
#   http://msdn.microsoft.com/en-us/library/ee719641(PROT.10).aspx
#   for detail.
#
CODEPAGE_ID = 1252
#CODEPAGE_ID = 437
#CODEPAGE_ID = 932
#CODEPAGE_ID = 65001

#
# Tool Definitions
#
CC			= bcc32
CFLAGS		= -5 -c -d -DNDEBUG -O2 -Vx -Ve -ff -X- -a4 -b- -k- -vi -tW -tWM
CVER		= -DXM7_VER=$(XM7_VER) $(OPTION) 

LD			= ilink32
LFLAGS		= -aa -x -Tpd -w -m

RC   		= brcc32
RFLAGS		= -c$(CODEPAGE_ID)
RCVER		= -dXM7_VER=$(XM7_VER) $(OPTION)

#
# File Definitions
#
TARGET		= XM7$(TARGET_VER)EN.dll

C_SRCS		= w32_stub.c
C_OBJS		= ${C_SRCS:.c=.obj}

CPP_SRCS	= 
CPP_OBJS	= # ${CPP_SRCS:.cpp=.obj}

RC_SRCS		= w32_res.rc
RC_OBJS		= ${RC_SRCS:.rc=.res}

MAPFILES	=

LIBFILES	= \
		c0d32.obj \
		cw32mt.lib \
		kernel32.lib \
		user32.lib \
		gdi32.lib

DEFFILES	=

#
# Default Generation Tools
#
.asm.obj:
		$(AS) $(AFLAGS) $(ASMVER) $&.asm

.c.obj:
		$(CC) $(CFLAGS) $(CVER) $&.c

.cpp.obj:
		$(CC) $(CFLAGS) $(CVER) $&.cpp

.rc.res:
		$(RC) $(RFLAGS) $(RCVER) $&.rc

#
# Source file -> Target
#
$(TARGET) : $(C_OBJS) $(RC_OBJS)
		$(LD) $(LFLAGS) @&&|
		$(C_OBJS) \
		,$(TARGET) \
		,$(MAPFILES) \
		,$(LIBFILES) \
		,$(DEFFILES) \
		,$(RC_OBJS)
|

#
# Dependencies
#
w32_stub.obj	: w32_stub.c

#
# Others
#
clean:
	del *.obj
	del *.res
	del *.il?
	del *.tds

w32cln:
	del w32_*.obj
	del w32_*.res
	del *.il?
	del *.tds

allclean: clean
	del *.map
