1
############################################################################
2
# System dependend defines, we try to guess this values.
3
# Change them if we are wrong.
4
############################################################################
11
UNPROTOIZE = unprotoize
12
INDENT = indent -i2 -bap -bacc -bad -nbc -bl -nip -di8\
13
-npsl -nce -cli0.5 -ci4 -npcs -fca -ncdb -sc -cd50 -c50
17
# Directory to find multiprecision library and includes.
18
# if you don't have libmp.a you are probably hosed .. but it's easy to
19
# get gmp from the GNU people.
22
RSA_FLAGS = @NORSA@ -DRSA
23
RSASRC = @NORSA@ rsa_box.c rsa_box_0.c rsa_box_1.c rsa_box_2.c \
24
rsa_box_3.c rsa_box_4.c rsa_box_5.c rsa_box_6.c \
25
rsa_box_7.c rsa_box_8.c rsa_box_9.c rsa_box_10.c
26
RSAOBJ = @NORSA@ rsa_box.o rsa_box_0.o rsa_box_1.o rsa_box_2.o \
27
rsa_box_3.o rsa_box_4.o rsa_box_5.o rsa_box_6.o \
28
rsa_box_7.o rsa_box_8.o rsa_box_9.o rsa_box_10.o
32
# Other libraries neeeded. (All systems need -lX11 -lm)
37
# Flags for optimizing
42
# Flags for shared libraries
45
SL_LDFLAGS = -shared $(LIBRARIES) -lc
46
SL_LIB = libcow.so.`./name 1`
47
SL_LIBFLAGS = -Wl,-soname,$(SL_LIB)
50
COWLIB = libcow.so.`./name 1`.`./name 2`.`./name p`
53
# random.c Some arches don't have random(), we will compile it if necessary
54
# set RANDOMOBJ = random.o if you need this, otherwise leave it blank.
58
###############################################################################
59
# No editables below this point.
60
###############################################################################
66
ROBJ = check.o colors.o data.o death.o defaults.o dmessage.o\
67
enter.o findslot.o getname.o getship.o helpwin.o inform.o\
68
interface.o newwin.o option.o planetlist.o macrowin.o\
69
map.o playerlist.o ranklist.o reserved.o sintab.o\
70
smessage.o socket.o playback.o stats.o util.o war.o warning.o\
71
udpopt.o ping.o pingstats.o rotate.o lagmeter.o parsemeta.o\
72
netstat.o netstatopt.o spopt.o dashboard.o dashboard3.o \
73
short.o distress.o senddist.o defwin.o tools.o sound.o\
74
docwin.o cflags.o beeplite.o feature.o\
75
string_util.o local.o censor.o cowmain.o camera.o myf.o
77
RSRC = check.c colors.c data.c death.c defaults.c dmessage.c\
78
enter.c findslot.c getname.c getship.c helpwin.c inform.c\
79
input.c interface.c newwin.c option.c planetlist.c\
80
macrowin.c map.c playerlist.c ranklist.c redraw.c\
81
smessage.c parsemeta.c socket.c playback.c stats.c util.c war.c\
82
warning.c udpopt.c sintab.c ping.c pingstats.c rotate.c\
83
lagmeter.c netstat.c netstatopt.c spopt.c dashboard.c dashboard3.c \
84
short.c distress.c senddist.c defwin.c tools.c sound.c\
85
docwin.c cflags.c beeplite.c feature.c reserved.c\
86
string_util.c local.c censor.c cowmain.c camera.c myf.c
89
INCLUDES = struct.h packets.h defs.h copyright.h bitmaps.h data.h\
90
oldbitmaps.h tngbitmaps.h hullbitmaps.h rabbitbitmaps.h\
91
sound.h audio.h litebitmaps.h
93
INPUTOBJ = input.o redraw.o
97
X11OBJ = @NOX11@ x11window.o x11sprite.o audio.o
98
X11SRC = @NOX11@ x11window.c x11sprite.c audio.c
100
WIN32OBJ = @NOWIN32@ gnu_win32.o winsprite.o winsndlib.o
101
WIN32SRC = @NOWIN32@ gnu_win32.c winsprite.c winsndlib.c
103
SDL_CFLAGS = @SDL_CFLAGS@
104
SDL_CONFIG = @SDL_CONFIG@
105
SDL_LIBS = @SDL_LIBS@
106
SDL_MIXER_LIBS = @SDL_MIXER_LIBS@
108
# full screen support
109
XXF86VM_LIBS = -lXxf86vm
110
# camera snapshot support
111
IMLIB2_LIBS = $(shell imlib2-config --libs)
113
SHARED = $(SL_CFLAGS)
114
INCDIRS = $(MPINC) $(INCS)
115
CFLAGS = $(OPT) $(EXTRACFLAGS) $(RSA_FLAGS) $(INCDIRS)
116
LFLAGS = -g $(EXTRALINKFLAGS)
117
LIBRARIES = $(LMP) $(LIBS) $(EXTRALIBS) $(SDL_LIBS) $(SDL_MIXER_LIBS) $(XXF86VM_LIBS) $(IMLIB2_LIBS)
119
netrek-client-cow: $(RSAOBJ) $(PMAKE) null $(ROBJ) $(MAINOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) cflags.c
120
$(CC) $(LFLAGS) -o netrek-client-cow $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \
121
$(MAINOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(LIBRARIES)
123
netrek.shared: done.libcow $(MAINOBJ) $(COWAPI)
124
$(CC) $(LFLAGS) $(MAINOBJ) -L. -lcow $(LIBS) -o netrek.shared
126
done.libcow: $(PMAKE) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ)
127
$(CC) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \
128
$(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(SL_LDFLAGS) $(SL_LIBFLAGS) -o $(COWLIB)
130
$(LN) $(COWLIB) $(SL_LIB)
133
#rsa_box.c: mkkey $(SECKEYFILE)
134
$(RSASRC): mkkey $(SECKEYFILE)
136
./mkkey -c -k $(SECKEYFILE)
138
@echo "int sock = -1;" >>rsa_box_1.c
141
@echo generating a new client key
144
mkkey: mkkey.c $(RANDOMOBJ) defs.h
145
$(CC) $(CFLAGS) $(MPINC) $(MPLIB) -o mkkey mkkey.c $(RANDOMOBJ) $(LIBRARIES)
147
randomize: randomize.c $(RANDOMOBJ) defs.h
148
$(CC) $(OPT) -o randomize randomize.c $(RANDOMOBJ) $(LIBRARIES)
151
$(CC) $(SDL_CFLAGS) -c sound.c
160
./mkcflags "$(CC) $(CFLAGS)" "$(ARCH)" > cflags.c
161
echo char cwho[]=$(CWHO)\; >> cflags.c
163
mkcflags: mkcflags.c system.mk null patchlevel.h version.h
164
$(CC) $(CFLAGS) -o mkcflags mkcflags.c $(LIBRARIES)
166
tags: $(RSRC) $(RSASRC)
167
ctags $(RSRC) $(RSASRC) $(INCLUDES)
169
depend: cflags.c null $(RSASRC)
170
-makedepend -f system.mk $(RSA_FLAGS) $(RSRC) $(RSASRC) $(MAINSRC) \
171
$(X11SRC) name.c $(INCDIRS)
173
proto: cflags.c null $(RSASRC)
174
$(PROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC)
176
unproto: cflags.c null $(RSASRC)
177
$(UNPROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC)
179
indent: cflags.c null $(RSASRC)
180
$(INDENT) $(RSRC) $(MAINSRC) $(INCLUDES) $(X11SRC) $(WIN32SRC)
182
to_unix: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC)
183
-for f in $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) $(WIN32SRC) ; do \
184
mv $${f} $${f}.bak ; win32/uncr < $${f}.bak > $${f} ;\
187
to_dos: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) $(WIN32SRC)
188
-for f in $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) $(WIN32SRC) ; do \
189
mv $${f} $${f}.bak ; win32/cr < $${f}.bak >$${f} ;\
193
@echo "/* This file is intentionally empty */" >null
196
@grep '^int' data.c \
199
| awk 'NF==4{print $$2,$$4}' > xtrekrc.tmp
200
@egrep '(booleanDefault|intDefault)' $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC) \
202
| sed -e '{s/[(]/ /g;s/[)]/ /g;s/\"//;s/\"/:/;s/, */ /;s/ *;.*//;}' \
203
-e '/intDefault/{s/^.*intDefault */<int> /;}' \
204
-e '/booleanDefault/{s/^.*booleanDefault */<bool> /;}' \
205
| awk 'NF==3{print $$3,$$2,$$1}' >> xtrekrc.tmp
206
@sort -u xtrekrc.tmp \
207
| awk 'NF==2{var=$$1;value=$$2} \
208
NF==3{if (length($$1)<=2)\
211
{print "# "$$2,value}\
213
{print "# "$$2,$$3};}' > xtrekrc.tmp1
214
@grep 'getdefault' $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC) \
216
| sed -e '{s|^.*getdefault[^\"]*\"|# |;s|\".*|: <string>|;}' \
218
@echo '# Automatic created xtrekrc with default values' \
220
@sort -u xtrekrc.tmp1\
224
# DO NOT DELETE THIS LINE -- make depend depends on it.