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) $<