.autodepend
.cacheautodepend
.suffixes: .cpp

!ifndef BTYPE
!error BTYPE macro not supplied
!endif

!ifndef BPATH
!error BPATH macro not supplied
!endif

!include make.cfg
!include $(BPATH)

!ifndef BT_ROOT
!error BT_ROOT macro is not defined
!endif

TARGET_DIR = $(BT_ROOT)\$(BTYPE)
TARGET_PATH = $(TARGET_DIR)\\
.path.obj = $(TARGET_DIR)
.path.lib = $(LIBRARY_PATH)

LIB_PREFIX = -+$(TARGET_DIR)\\

CFG_FILE = $(TARGET_DIR)\$(BTYPE).cfg
HEADER_FILE = bt$(BTYPE).csm

#------------------------------------------------------------------------------
# Library targets
#
all: $(CFG_FILE) $(TARGET_DIR)\bt.lib

clean:
	del $(TARGET_DIR)\*.obj
	del $(TARGET_DIR)\*.lib
        del $(TARGET_DIR)\*.bak
        del $(TARGET_DIR)\*.cfg

assemble:
	@echo No assembly targets

#------------------------------------------------------------------------------
# Implicit rules
#
!include $(BTYPE).mak

!ifndef STARTUP_OBJ
!error STARTUP_OBJ macro is not defined
!endif

!ifndef STARTUP_LIBS
!error STARTUP_LIBS macro is not defined
!endif

{$(INCLUDE_PATH)}.cpp{$(TARGET_DIR)}.obj:
   $(BCC) @$(CFG_FILE) $< >>error.log

{$(INCLUDE_PATH)}.c{$(TARGET_DIR)}.obj:
	$(BCC) @$(CFG_FILE) $< >>error.log

{$(BT_ROOT)}.asm{$(TARGET_DIR)}.obj:
	tasm32 -ml $(TASM_OPTIONS) -i$(BT_ROOT) $<,$@ >>error.log

#------------------------------------------------------------------------------
# Battletech library
#
BT_OBJS = \
	?btmssn.obj \
	?messmgr.obj \
	?mechdmg.obj \
	?dmgtable.obj \
	?mech.obj \
	?mech2.obj \
	?mech3.obj \
	?mech4.obj \
	?mechsub.obj \
	?mechtech.obj \
	?heat.obj \
	?mechmppr.obj \
	?powersub.obj \
	?sensor.obj \
	?gnrator.obj \
	?gyro.obj \
	?torso.obj \
	?hud.obj \
	?myomers.obj \
	?mechweap.obj \
	?emitter.obj \
	?ppc.obj \
	?projweap.obj \
	?mislanch.obj \
	?ammobin.obj \
	?gauss.obj \
	?projtile.obj \
	?misthrst.obj \
	?seeker.obj \
	?missile.obj \
	?btplayer.obj \
	?btteam.obj \
	?btdirect.obj \
	?btreg.obj \
	?btcnsl.obj \
	?bttool.obj

$(BT_OBJS:?=): $(CFG_FILE)

$(TARGET_DIR)\bt.lib: $(BT_OBJS:?=) $(BT_ROOT)\bt.mak
	tlib $@ $(LIB_OPTIONS) @&&|
$(BT_OBJS:?=$(LIB_PREFIX))
| >>error.log
