# File: Makefile.win
# For Borland C++ 4.5 Win16 and Win32

.autodepend

# change this to suit your taste

CC = d:\apps\bc45\bin\bcc.exe +bccw16.cfg
CC32 = d:\apps\bc45\bin\bcc32.exe +bccw32.cfg
LINK = d:\apps\bc45\bin\tlink.exe
LINK32 = d:\apps\bc45\bin\tlink32.exe
RC = d:\apps\bc45\bin\brc.exe
RC32 = d:\apps\bc45\bin\brc32.exe
LIBDIR = d:\apps\bc45\lib
INCLDIR = d:\apps\bc45\include;h:\angband\ext-win\src

# shouldn't need to change anything below

SRCS = \
  main.c main-win.c itsybits.c readdib.c\
  signals.c util.c io.c init.c save.c save-old.c files.c \
  generate.c birth.c melee.c dungeon.c store.c \
  effects.c cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c \
  misc.c monster.c mon-desc.c object.c obj-desc.c \
  spells1.c spells2.c cave.c tables.c variable.c \
  term.c random.c z-util.c z-virt.c z-form.c

OBJS = \
  main.obj main-win.obj itsybits.obj readdib.obj\
  signals.obj util.obj io.obj init.obj save.obj save-old.obj files.obj \
  generate.obj birth.obj melee.obj dungeon.obj store.obj \
  effects.obj cmd1.obj cmd2.obj cmd3.obj cmd4.obj cmd5.obj cmd6.obj \
  misc.obj monster.obj mon-desc.obj object.obj obj-desc.obj \
  spells1.obj spells2.obj cave.obj tables.obj variable.obj \
  term.obj random.obj z-util.obj z-virt.obj z-form.obj

OBJS32 = \
  main.o32 main-win.o32 itsybits.o32 readdib.o32\
  signals.o32 util.o32 io.o32 init.o32 save.o32 save-old.o32 files.o32 \
  generate.o32 birth.o32 melee.o32 dungeon.o32 store.o32 \
  effects.o32 cmd1.o32 cmd2.o32 cmd3.o32 cmd4.o32 cmd5.o32 cmd6.o32 \
  misc.o32 monster.o32 mon-desc.o32 object.o32 obj-desc.o32 \
  spells1.o32 spells2.o32 cave.o32 tables.o32 variable.o32 \
  term.o32 random.o32 z-util.o32 z-virt.o32 z-form.o32\
#only for testing
#  wizard.o32 borg.o32 borg-ben.o32 borg-ext.o32 borg-map.o32 borg-obj.o32

default: bccw16.cfg angband cleanobj bccw32.cfg angband32 cleanobj32

clean:
	del *.obj
	del ..\*.map
	del ..\angband.exe

cleanobj:
	del *.obj
	del bccw16.cfg

cleanobj32:
	del *.o32
	del bccw32.cfg

bccw16.cfg: makefile.win
	if not exist ..\angband.ini copy ..\ext-win\src\angband.ini ..
	copy &&|
-I$(INCLDIR)
-L$(LIBDIR)
-ml
-WE
-x-
-K
-y-
-v-
-N-
-f-
-3
-dc
-Ff=8
-r
-b-
-p-
-Os
-Oa
-OW
-O
-d
-Ob
-Oe
-Og
-Ol
-Om
-Ot
-Op
-Ov
-k-
-Z
-w-
-X
-D__STDC__=1
| bccw16.cfg

bccw32.cfg: makefile.win
	copy &&|
-I$(INCLDIR)
-L$(LIBDIR)
-WE
-x-
-K
-y-
-v-
-N-
-f-
-5
-r
-b-
-p-
-Os
-OW
-O
-d
-Oa
-Ob
-Oe
-Og
-Ol
-Om
-Ot
-Op
-Ov
-k-
-Z
-w-
-X
-D__STDC__=1
| bccw32.cfg

.c.obj:
	$(CC) -c $<

generate.obj: generate.c
	$(CC) -c generate.c

itsybits.obj: ..\ext-win\src\itsybits.c ..\ext-win\src\itsybits.h
	$(CC) -c ..\ext-win\src\itsybits.c

readdib.obj: ..\ext-win\src\readdib.c ..\ext-win\src\readdib.h
	$(CC) -c ..\ext-win\src\readdib.c

angband: $(OBJS) ..\ext-win\src\angband.rc
	$(LINK) /L$(LIBDIR) @&&|
-Twe -P -d -x -Gn -Oc -yx4096 +
c0wl main main-win itsybits readdib+
signals util io init save save-old files+
generate birth melee dungeon store+
effects cmd1 cmd2 cmd3 cmd4 cmd5 cmd6+
misc monster mon-desc object obj-desc+
spells1 spells2 cave tables variable+
term random z-util z-virt z-form,+
..\angband.exe,..\angband.map,import cwl,..\ext-win\src\angband.def
|
	$(RC) -31 ..\ext-win\src\angband.rc ..\angband.exe

.c.o32:
	$(CC32) -c -o$@ $<

# bug in BC4.5 optimizer scrambles town level
generate.o32: generate.c
	$(CC32) -c -ogenerate.o32 -O- generate.c

itsybits.o32: ..\ext-win\src\itsybits.c ..\ext-win\src\itsybits.h
	$(CC32) -c -oitsybits.o32 ..\ext-win\src\itsybits.c

readdib.o32: ..\ext-win\src\readdib.c ..\ext-win\src\readdib.h
	$(CC32) -c -oreaddib.o32 ..\ext-win\src\readdib.c

angband32: $(OBJS32) ..\ext-win\src\angband.rc
	$(LINK32) /L$(LIBDIR) @&&|
-aa -B:0x400000 -S:0x100000 -P -x +
c0w32 main.o32 main-win.o32 itsybits.o32 readdib.o32+
signals.o32 util.o32 io.o32 init.o32 save.o32 save-old.o32 files.o32+
generate.o32 birth.o32 melee.o32 dungeon.o32 store.o32+
effects.o32 cmd1.o32 cmd2.o32 cmd3.o32 cmd4.o32 cmd5.o32 cmd6.o32+
misc.o32 monster.o32 mon-desc.o32 object.o32 obj-desc.o32+
spells1.o32 spells2.o32 cave.o32 tables.o32 variable.o32+
term.o32 random.o32 z-util.o32 z-virt.o32 z-form.o32,+
..\angband32.exe,..\angband.map,import32 cw32,..\ext-win\src\angband.def
|
	$(RC32) -w32 ..\ext-win\src\angband.rc ..\angband32.exe
