-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile.bor
130 lines (107 loc) · 3.79 KB
/
makefile.bor
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
121
122
123
124
125
126
127
128
129
#
# Murk++ build for borland c++
#
.AUTODEPEND
BCCROOT = $(MAKEDIR)\..
CPP = $(BCCROOT)\bin\bcc32
CC = $(BCCROOT)\bin\bcc32
LD = $(BCCROOT)\bin\ilink32
AR = $(BCCROOT)\bin\tlib
WINZIP = C:\apps\Winzip\wzzip
# Compiler directives for debugging
!ifdef DEBUG
DEBUG_CFLAGS = -v -y -Od -r-
DEBUG_LFLAGS = -v
!else
DEBUG_CFLAGS = -v- -O2
DEBUG_LFLAGS = -v-
!endif
INCS = -Isqlite3 -I$(BCCROOT)\include
# Compiler/linker directives for linking static or dynamic
!ifdef STATIC
STATIC_CFLAGS =
LIBS = import32.lib cw32.lib ws2_32.lib
!else
STATIC_CFLAGS = -tWR
LIBS = import32.lib cw32i.lib ws2_32.lib
!endif
BCC32STARTUP = c0x32.obj
DEFS= -DWIN32 -DWIN32_LEAN_AND_MEAN -D_NO_VCL -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE
OPTIM= $(STATIC_CFLAGS) $(DEBUG_CFLAGS) -tWC -w-pia -w-par -w-aus -w-rch $(DEBUG_CFLAGS) -5
CFLAGS= $(OPTIM) $(DEFS)
LFLAGS = -Tpe -ap -c -Gn $(DEBUG_LFLAGS)
SQLITE_SRC = sqlite3\sqlite3.c
SQLITE_OBJ = $(SQLITE_SRC:.c=.obj)
SQLITE_LIB = sqlite3\sqlite3.lib
SQLITE_PRG_SRC = sqlite3\shell.c
SQLITE_PRG_OBJ = $(SQLITE_PRG_SRC:.c=.obj)
SQLITE_PRG = sqlite3\sqlite3.exe
SQLITE_XTRA = sqlite3\sqlite3.h sqlite3\sqlite3ext.h \
sqlite3\libsqlite3.vcxproj sqlite3\sqlite3.vcxproj \
sqlite3\libsqlite3.cbproj sqlite3\sqlite3.cbproj
MURK_UTIL_SRC = loadhelps.cpp
MURK_UTIL_OBJ = $(MURK_UTIL_SRC:.cpp=.obj)
MURK_SRC = murk.cpp os.cpp descriptor.cpp utils.cpp commands.cpp io.cpp \
room.cpp object.cpp character.cpp spells.cpp objproto.cpp mobproto.cpp \
affect.cpp exit.cpp area.cpp reset.cpp extra.cpp shop.cpp pcdata.cpp \
symbols.cpp database.cpp world.cpp
MURK_OBJ = $(MURK_SRC:.cpp=.obj)
MURK_HDR = os.hpp config.hpp descriptor.hpp character.hpp pcdata.hpp utils.hpp \
globals.hpp object.hpp note.hpp room.hpp area.hpp mobproto.hpp \
objproto.hpp affect.hpp exit.hpp extra.hpp ban.hpp shop.hpp reset.hpp \
io.hpp symbols.hpp database.hpp spell_list.hpp cmd_list.hpp \
baseobject.hpp world.hpp
# Data files Areas, Mobprogs and Players
DATAFILES = area.lst limbo.are mid_cit.prg midgaard.are school.are help.are \
vagabond.prg beggar.prg crier.prg drunk.prg gategrd.prg gategrd2.prg \
janitor.prg One schema item_types socials titles
# Files in the standard distribution
DISTFILES = $(MURK_SRC) $(MURK_UTIL_SRC) $(MURK_HDR) $(DATAFILES) \
makefile makefile.bor makefile.vc makefile.dgm makefile.vc15 \
doc.txt startup startup.bash startup.cmd \
license.crypt license.diku license.merc license.murk++ \
loadhelps.vcxproj murk.vcxproj murk++.sln \
loadhelps.cbproj murk.cbproj murk++.groupproj
!ifndef RELEASE
RELEASE=dist
!endif
TARGETS = $(SQLITE_LIB) $(SQLITE_PRG) murk.exe loadhelps.exe
all: $(TARGETS)
$(SQLITE_LIB): $(SQLITE_OBJ)
-@del $< 2>NUL
$(AR) $< /a $**
$(SQLITE_PRG): $(SQLITE_PRG_OBJ) $(SQLITE_LIB)
$(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS)
murk.exe: $(MURK_OBJ) $(SQLITE_LIB)
@-del murkold.exe
@-ren murk.exe murkold.exe
$(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS)
loadhelps.exe: $(MURK_UTIL_OBJ) io.obj $(SQLITE_LIB)
$(LD) $(LFLAGS) $(BCC32STARTUP) $**, $<,, $(LIBS)
database: $(SQLITE_PRG) loadhelps.exe
@echo "Building database..."
@-copy murk.db murk.db.bkup
@-del murk.db
@sqlite3\sqlite3 murk.db < schema
@loadhelps
@echo "Done."
clean:
@-del *.tds *.map *.tr2 murk.exe loadhelps.exe $(MURK_OBJ) \
$(MURK_UTIL_OBJ) 2>NUL
cleanall:
@-del *.tds sqlite3\*.tds *.map *.tr2 $(TARGETS) $(MURK_OBJ) \
$(SQLITE_OBJ) $(SQLITE_PRG_OBJ) $(MURK_UTIL_OBJ) 2>NUL
dist : $(DISTFILES)
@echo "Building distribution..."
@-md murk++
@!copy /y "$**" "murk++" 1>NUL
@echo .svn > ex.tmp
@xcopy sqlite3 "murk++\sqlite3" /I /E /Y /Q /EXCLUDE:ex.tmp
@del ex.tmp
@$(WINZIP) -Pr murk++-$(RELEASE).zip murk++ 1>NUL 2>NUL
@rd /s /q murk++
@echo "Done."
.c.obj:
$(CC) $(CFLAGS) $(INCS) -c -n$(@D) $<
.cpp.obj:
$(CC) $(CFLAGS) $(INCS) -c -n$(@D) $<