CC = gcc
#PROF = -p
W_FLAGS = -Wall -Wshadow -Wformat-security -Winline -Wpointer-arith -Wcast-align -Wredundant-decls
#-Werror
C_FLAGS = -g2 $(W_FLAGS) $(PROF)
L_FLAGS = -lm $(PROF) -lcrypt
C_FILES = ackmapper.c act_comm.c act_info.c act_move.c act_obj.c act_wiz.c ban.c bank.c boards.c board.c \
build.c clans.c color.c combo.c comm.c commands.c comments.c const.c crafting.c db.c deity.c \
fight.c handler.c hashstr.c hotboot.c house.c infochan.c imm_host.c interp.c liquids.c locker.c \
magic.c makeobjs.c mapout.c md5.c misc.c mip.c mpxset.c mud_comm.c mud_prog.c \
overland.c pfiles.c planes.c player.c polymorph.c questing.c remort.c reset.c save.c services.c shops.c stock.c skills.c special.c tables.c tattoo.c track.c train.c update.c oedit.c redit.c medit.c
ifdef I3
C_FILES := i3.c $(C_FILES)
C_FLAGS := $(C_FLAGS) -DI3 -DI3SMAUG
endif
ifdef IMC
C_FILES := imc.c $(C_FILES)
C_FLAGS := $(C_FLAGS) -DIMC -DIMCSMAUG
endif
O_FILES := $(patsubst %.c,o/%.o,$(C_FILES))
H_FILES = $(wildcard *.h)
all:
$(MAKE) -s smaug
ifdef CYGWIN
smaug: $(O_FILES)
rm -f smaug.exe
$(CC) smaug $(O_FILES) $(L_FLAGS)
echo "Done compiling mud.";
chmod g+w smaug.exe
chmod a+x smaug.exe
chmod g+w $(O_FILES)
clean:
rm -f o/*.o smaug.exe *~
else
smaug: $(O_FILES)
rm -f smaug
$(CC) -export-dynamic -o smaug $(O_FILES) $(L_FLAGS)
echo "Done compiling mud.";
chmod g+w smaug
chmod a+x smaug
chmod g+w $(O_FILES)
clean:
rm -f o/*.o *.o smaug *~
endif
o/%.o: %.c
echo " Compiling $@....";
$(CC) -c $(C_FLAGS) $< -o $@
.c.o: mud.h
$(CC) -c $(C_FLAGS) $<