# Makefile for dungeon # By Jonathan Mark # stripped down version for Borland C++ by Volker Blasius, 11jul93 CC = bcc TARGET = dungeon.exe # The dungeon program provides a ``more'' facility which tries to # figure out how many rows the terminal has. Several mechanisms are # supported for determining this; the most common one has been left # uncommented. If you have trouble, especially when linking, you may # have to select a different option. # more option 3: assume all terminals have 24 rows TERMFLAG = -DMORE_24 # more option 4: don't use the more facility at all # TERMFLAG = -DMORE_NONE # End of more options # Uncomment the following line if you want to have access to the game # debugging tool. This is invoked by typing "gdt". It is not much # use except for debugging. # GDTFLAG = -DALLOW_GDT # Compilation flags # Borland-C++-specific compile options: # -O2 optimize for fastest code # -mm "medium" memory model (code > 64k, data < 64k) # -A disables Borland C++ extensions. This causes the compiler to # define __STDC__, which in turn causes BINREAD to be defined # as "rb", etc. (This seems odd -- is the "b" suffix in # ANSI C?) [Yes, it is] CFLAGS = -O1 -mm -A ################################################################## # Source files CSRC = actors.c ballop.c clockr.c demons.c dgame.c dinit.c dmain.c\ dso1.c dso2.c dso3.c dso4.c dso5.c dso6.c dso7.c dsub.c dverb1.c\ dverb2.c gdt.c lightp.c local.c nobjs.c np.c np1.c np2.c np3.c\ nrooms.c objcts.c rooms.c sobjs.c supp.c sverbs.c verbs.c villns.c # Object files OBJS1 = actors.obj ballop.obj clockr.obj demons.obj dgame.obj dinit.obj OBJS2 = dmain.obj dso1.obj dso2.obj dso3.obj dso4.obj dso5.obj dso6.obj OBJS3 = dso7.obj dsub.obj dverb1.obj dverb2.obj gdt.obj lightp.obj local.obj OBJS4 = nobjs.obj np.obj np1.obj np2.obj np3.obj nrooms.obj objcts.obj OBJS5 = rooms.obj sobjs.obj supp.obj sverbs.obj verbs.obj villns.obj OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) # If we try to link as one $(CC) command, the command line is too long for # DOS to accept. We therefore have to use the ugly "response file" syntax. # $(TARGET): $(OBJS) dtextc.dat tlink @&&! c0m.obj+ $(OBJS1)+ $(OBJS2)+ $(OBJS3)+ $(OBJS4)+ $(OBJS5) $(TARGET) dungeon.map cm.lib mathm.lib ! dtextc.dat: copy dtextc.uu1+dtextc.uu2+dtextc.uu3+dtextc.uu4 dtextc.uu uudecode dtextc.uu del dtextc.uu dinit.obj: dinit.c funcs.h vars.h $(CC) $(CFLAGS) $(GDTFLAG) -DTEXTFILE="dtextc.dat" -c dinit.c dgame.obj: dgame.c funcs.h vars.h $(CC) $(CFLAGS) $(GDTFLAG) -c dgame.c gdt.obj: gdt.c funcs.h vars.h $(CC) $(CFLAGS) $(GDTFLAG) -c gdt.c local.obj: local.c funcs.h vars.h $(CC) $(CFLAGS) $(GDTFLAG) -c local.c supp.obj: supp.c funcs.h vars.h $(CC) $(CFLAGS) $(TERMFLAG) -c supp.c actors.obj: funcs.h vars.h ballop.obj: funcs.h vars.h clockr.obj: funcs.h vars.h demons.obj: funcs.h vars.h dmain.obj: funcs.h vars.h dso1.obj: funcs.h vars.h dso2.obj: funcs.h vars.h dso3.obj: funcs.h vars.h dso4.obj: funcs.h vars.h dso5.obj: funcs.h vars.h dso6.obj: funcs.h vars.h dso7.obj: funcs.h vars.h dsub.obj: funcs.h vars.h dverb1.obj: funcs.h vars.h dverb2.obj: funcs.h vars.h lightp.obj: funcs.h vars.h nobjs.obj: funcs.h vars.h np.obj: funcs.h vars.h np1.obj: funcs.h vars.h parse.h np2.obj: funcs.h vars.h parse.h np3.obj: funcs.h vars.h parse.h nrooms.obj: funcs.h vars.h objcts.obj: funcs.h vars.h rooms.obj: funcs.h vars.h sobjs.obj: funcs.h vars.h sverbs.obj: funcs.h vars.h verbs.obj: funcs.h vars.h villns.obj: funcs.h vars.h