1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
# Project: ToME
# Make: make
# Wimpslot: 5000k
#
# To use this makefile, the current working directory must be where
# this makefile is (if this makefile is at "raFS::Temp.$.ang.src.makefile",
# the CWD must be "raFS::Temp.$.ang.src").
#
# This is a GNU make makefile
# Defaults
COMPILER := norcroft
default: standard
# Set this to the location of StubsG if using Norcroft
STUBSG := <CLibs$$Dir>.clib.o.StubsG
# Lua object files
LUAOBJS := lapi.o ldebug.o lmem.o lstrlib.o lvm.o \
tolua_lb.o lauxlib.o ldo.o lobject.o ltable.o \
lzio.o tolua_rg.o lbaselib.o lfunc.o lparser.o \
tolua_bd.o tolua_tm.o lcode.o lgc.o \
lstate.o ltm.o tolua_eh.o tolua_tt.o ldblib.o \
llex.o lstring.o lundump.o tolua_gp.o \
liolib.o
# toLua object files
TOLUAOBJS := tolua.o tolualua.o liolib.o $(LUAOBJS)
# Lua package files:
LUAPKGS := \
script.c lua_bind.c \
w_util.c w_player.c w_z_pack.c w_obj.c w_mnster.c w_spells.c w_quest.c w_play_c.c w_dun.c
# The standard object files:
OBJS := \
z-rand.o z-util.o z-form.o z-virt.o z-term.o z-sock.o \
variable.o tables.o plots.o util.o cave.o dungeon.o \
melee1.o melee2.o modules.o \
object1.o object2.o randart.o squeltch.o traps.o \
monster1.o monster2.o monster3.o ghost.o \
xtra1.o xtra2.o skills.o powers.o gods.o \
spells1.o spells2.o \
status.o files.o notes.o loadsave.o \
cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o cmd7.o \
help.o \
generate.o gen_maze.o gen_evol.o wild.o levels.o store.o bldg.o \
cmovie.o irc.o \
wizard2.o init2.o birth.o wizard1.o init1.o\
script.o lua_bind.o w_util.o w_player.o w_z_pack.o w_obj.o w_mnster.o w_spells.o w_quest.o w_play_c.o w_dun.o \
main-ros.o
# Defaults for norcy
ifeq (norcroft, $(COMPILER))
# Tools:
CC := cc -DRISCOS -Ilua
LD := link
RM := remove
tolua := tolua
# Libraries:
LIBS := $(STUBSG) <DeskLib$$Dir>.o.DeskLib
CCFLAGS_BASIC := -apcs 3/32/fpe2/swst/fp/nofpr -c -Wan
SLUAOBJS := $(addprefix lua/,$(LUAOBJS))
STOLUAOBJS := $(addprefix lua/,$(TOLUAOBJS))
DLUAOBJS := $(addprefix lua.,$(LUAOBJS))
DTOLUAOBJS := $(addprefix lua.,$(TOLUAOBJS))
endif
# Defaults for gcc
ifeq (gcc, $(COMPILER))
WARNINGS := -ansi -pedantic -Wall -Wno-unused -Wno-long-long -W -Wcast-qual
# Tools:
CC := gcc -mlibscl -c -DRISCOS -Ilua
LD := gcc -mlibscl
RM := remove
tolua := tolua
# Libraries:
LIBS := <DeskLib$$Dir>.o.DeskLib
WARNINGS := -ansi -pedantic -Wall -Wundef -Wpointer-arith \
-Wcast-align -Wwrite-strings -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs \
-Winline -Wno-unused -Wno-long-long -W -Wcast-qual
CCFLAGS_BASIC := -O2 $(WARNINGS) -mthrowback -mpoke-function-name
SLUAOBJS := $(addprefix lua/,$(LUAOBJS))
STOLUAOBJS := $(addprefix lua/,$(TOLUAOBJS))
DLUAOBJS := $(SLUAOBJS)
DTOLUAOBJS := $(STOLUAOBJS)
endif
#
# Rules to make the various targets
#
ALL_TARGETS := standard fullscreen
$(ALL_TARGETS): tolua
standard: CCFLAGS := $(CCFLAGS_BASIC)
standard: $(LUAPKGS) $(OBJS) $(SLUAOBJS) $(LIBS)
$(LD) $(LDFLAGS) -o ^.!RunImage $(OBJS) $(DLUAOBJS) $(LIBS)
fullscreen: CCFLAGS := -DFULLSCREEN_ONLY $(CCFLAGS_BASIC)
fullscreen: $(LUAPKGS) $(OBJS) $(SLUAOBJS) $(LIBS)
$(LD) $(LDFLAGS) -o ^.!RunImageF $(OBJS) $(DLUAOBJS) $(LIBS)
# tolua
tolua: $(STOLUAOBJS)
$(LD) -o tolua $(DTOLUAOBJS) $(LDFLAGS) $(LIBS)
# Lua packages
w_mnster.c: monster.pkg $(tolua)
$(tolua) -n monster -o c.w_mnster monster/pkg
w_player.c: player.pkg $(tolua)
$(tolua) -n player -o c.w_player player/pkg
w_play_c.c: player_c.pkg $(tolua)
$(tolua) -n player_c -o c.w_play_c player_c/pkg
w_z_pack.c: z_pack.pkg $(tolua)
$(tolua) -n z_pack -o c.w_z_pack z_pack/pkg
w_obj.c: object.pkg $(tolua)
$(tolua) -n object -o c.w_obj object/pkg
w_util.c: util.pkg $(tolua)
$(tolua) -n util -o c.w_util util/pkg
w_spells.c: spells.pkg $(tolua)
$(tolua) -n spells -o c.w_spells spells/pkg
w_quest.c: quest.pkg $(tolua)
$(tolua) -n quest -o c.w_quest quest/pkg
w_dun.c: dungeon.pkg $(tolua)
$(tolua) -n dungeon -o c.w_dun dungeon/pkg
# Suffix rules
.SUFFIXES: .o .c
# A basic rule
.c.o:; $(CC) $(CCFLAGS) -o $@ $<
# Dynamic dependencies:
|