CC = gcc
PROF =
NOCRYPT =
#Uncomment the line below if you are getting undefined references to dlsym, dlopen, and dlclose.
#Comment it out if you get errors about ldl not being found.
NEED_DL = -ldl
#Uncomment if using CYGWIN to compile with
#CYGWIN_FLAG = -DCYGWIN
#Some systems need this for dynamic linking to work.
EXPORT_SYMBOLS = -export-dynamic
C_FLAGS = -g2 -Wall $(EXPORT_SYMBOLS) $(CYGWIN_FLAG) $(PROF) $(NOCRYPT) $(DBUGFLG) $(EXPORT_SYMBOLS)
L_FLAGS = $(PROF) $(EXPORT_SYMBOLS) $(CYGWIN_FLAG) $(NEED_DL) -lz -g2
#Comment out to disable cargo
USECARGO = 1
ifdef USECARGO
C_FLAGS := $(C_FLAGS) -DUSECARGO
endif
C_FILES = 11.c act_comm.c act_info.c act_move.c act_obj.c act_wiz.c boards.c \
bounty.c build.c changes.c clans.c color.c comm.c comments.c \
const.c db.c editor.c fight.c finfo.c force.c fskills.c \
functions.c handler.c hashstr.c hunter.c interp.c magic.c makeobjs.c \
marriage.c md5.c misc.c mud_comm.c mud_prog.c newarena.c pfiles.c \
planets.c player.c renumber.c reset.c save.c ships.c shops.c \
skills.c slay.c slicers.c slotm.c space.c special.c swskills.c \
tables.c tech.c track.c update.c
O_FILES := $(patsubst %.c,o/%.o,$(C_FILES))
H_FILES = $(wildcard *.h)
ifdef CYGWIN_FLAG
SWR = swr.exe
COPYFILE = ../bin/cygwin/copyfile
else
SWR = swr
endif
SWR_OLD = ../bin/swr_old.exe
all:
$(MAKE) -s swr
swr : $(O_FILES)
rm -f $(SWR)
ifdef CYGWIN_FLAG
dlltool --export-all --output-def ../bin/cygwin/swr.def $(O_FILES)
dlltool --dllname $(SWR) --output-exp ../bin/cygwin/swr.exp --def ../bin/cygwin/swr.def
$(CC) -o $(SWR) $(O_FILES) ../bin/cygwin/swr.exp $(L_FLAGS)
else
$(CC) -o $(SWR) $(O_FILES) $(L_FLAGS) -lm -lcrypt
endif
echo " ";
echo "Done compiling mud.";
chmod g+w $(SWR)
chmod a+x $(SWR)
chmod g+w $(O_FILES)
ifdef CYGWIN_FLAG
./$(COPYFILE)
endif
mv $(SWR) ../bin
clean:
ifdef CYGWIN_FLAG
rm -f o/*.o ../bin/other/swr.def ../bin/cygwin/swr.exp
chmod g+w $(COPYFILE)
chmod a+x $(COPYFILE)
./$(COPYFILE)
# $(MAKE) all
else
rm -f o/*.o $(SWR_OLD) ../bin/$(SWR) ../bin/${SWR}.exe ../bin/win/swr.def ../bin/cygwin/swr.exp
# $(MAKE) all
endif
purge:
ifdef CYGWIN_FLAG
rm -f o/*.o ../bin/cygwin/swr.def ../bin/cygwin/swr.exp
else
rm -f o/*.o $(SWR_OLD) $(SWR) ../bin/cygwin/swr.def ../bin/cygwin/swr.exp
endif
o/%.o: %.c
# echo " Compiling $@....";
echo " $@";
$(CC) -c $(C_FLAGS) $< -o $@
.c.o: mud.h
$(CC) -c $(C_FLAGS) $<