home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ST-Computer Leser-CD 2000 January
/
LCD_01_2000.iso
/
games
/
doom
/
pmdoom
/
makefile
< prev
next >
Wrap
Makefile
|
1999-12-17
|
5KB
|
207 lines
#############################################################################
#############################################################################
#
# Makefile for Pmdoom
#
# by Patrice Mandin
#
# Compilation time :
# Atari Falcon Motorola 68030/16 1 h 04 mn
# Atari Falcon Motorola 68030/50 (CT2) 13 mn 36 s
# PC Intel Pentium/100 3 mn 20 s
# PC Cyrix 6x86 P200+/150 1 mn 35 s
# PC Amd K6-2/333 40 s
#
#############################################################################
#############################################################################
############### Choose the configuration to compile Doom for :
#
# Configurations allowed are:
#
# SYSTEM CPU
#
# linux x86
# atari m68k
SYSTEM= atari
CPU= m68k
############### Different initializations values
CPU_IS_m68k= -m68030 -D__BIG_ENDIAN__
CPU_IS_x86= -m486 -ffast-math -malign-loops=2 -malign-functions=2 -malign-jumps=2
SYS_IS_linux= -DLINUX
SYS_IS_atari= -DATARI -DNONETWORK
VID_IS_x11= -L/usr/X11R6/lib -lXext -lX11
VID_IS_svgalib= -lvga -lvgagl
VID_IS_xbios=
VID_IS_vdi=
VIDLIB_IS_linux= $(VID_IS_x11) $(VID_IS_svgalib)
VIDLIB_IS_atari= $(VID_IS_xbios) $(VID_IS_vdi)
############### System specific objects files
OBJ_IS_linux= \
$(OBJDIR)/sound/devaudio.o \
$(OBJDIR)/video/x11.o \
$(OBJDIR)/video/svgalib.o
OBJ_IS_atari= \
$(OBJDIR)/i_cookies.o \
$(OBJDIR)/control/joypad.o \
$(OBJDIR)/control/ikbd.o \
$(OBJDIR)/control/bios.o \
$(OBJDIR)/sound/ataridma.o \
$(OBJDIR)/video/xbios.o \
$(OBJDIR)/video/vdi.o \
$(OBJDIR)/$(CPU)/c2p.o \
$(OBJDIR)/$(CPU)/ataridma.o \
$(OBJDIR)/$(CPU)/time.o \
$(OBJDIR)/$(CPU)/joypad.o \
$(OBJDIR)/$(CPU)/ikbd.o \
$(OBJDIR)/$(CPU)/m_fixed.o \
$(OBJDIR)/$(CPU)/m_swap.o \
$(OBJDIR)/$(CPU)/r_draw8.o \
$(OBJDIR)/$(CPU)/r_draw16.o \
$(OBJDIR)/$(CPU)/v_video16.o
############### Parse configuration now
SYSTEMFLAGS= $(SYS_IS_$(SYSTEM))
VIDEOLIBS= $(VIDLIB_IS_$(SYSTEM))
CPUFLAGS= $(CPU_IS_$(CPU))
SYSTEMOBJS= $(OBJ_IS_$(SYSTEM))
############### Common variables
CC= gcc
AS= as
LD= gcc
INCLUDES= -Iinclude
SRCDIR= ./src
OBJDIR= ./obj
SYSTEMLIBS= -lm
CFLAGS= -Wall -O2 -fomit-frame-pointer -DNORMALUNIX
############### Program name , source and object files
PROGRAM= doom
OBJS= \
$(OBJDIR)/dstrings.o \
$(OBJDIR)/doomstat.o \
$(OBJDIR)/doomdef.o \
$(OBJDIR)/tables.o \
$(OBJDIR)/f_finale.o \
$(OBJDIR)/f_wipe.o \
$(OBJDIR)/d_main.o \
$(OBJDIR)/d_net.o \
$(OBJDIR)/d_items.o \
$(OBJDIR)/g_game.o \
$(OBJDIR)/m_fixed.o \
$(OBJDIR)/m_menu.o \
$(OBJDIR)/m_misc.o \
$(OBJDIR)/m_argv.o \
$(OBJDIR)/m_bbox.o \
$(OBJDIR)/m_cheat.o \
$(OBJDIR)/m_random.o \
$(OBJDIR)/m_swap.o \
$(OBJDIR)/am_map.o \
$(OBJDIR)/p_ceilng.o \
$(OBJDIR)/p_doors.o \
$(OBJDIR)/p_enemy.o \
$(OBJDIR)/p_floor.o \
$(OBJDIR)/p_inter.o \
$(OBJDIR)/p_lights.o \
$(OBJDIR)/p_map.o \
$(OBJDIR)/p_maputl.o \
$(OBJDIR)/p_plats.o \
$(OBJDIR)/p_pspr.o \
$(OBJDIR)/p_setup.o \
$(OBJDIR)/p_sight.o \
$(OBJDIR)/p_spec.o \
$(OBJDIR)/p_switch.o \
$(OBJDIR)/p_mobj.o \
$(OBJDIR)/p_telept.o \
$(OBJDIR)/p_tick.o \
$(OBJDIR)/p_saveg.o \
$(OBJDIR)/p_user.o \
$(OBJDIR)/r_bsp.o \
$(OBJDIR)/r_data.o \
$(OBJDIR)/r_draw.o \
$(OBJDIR)/r_main.o \
$(OBJDIR)/r_plane.o \
$(OBJDIR)/r_segs.o \
$(OBJDIR)/r_sky.o \
$(OBJDIR)/r_things.o \
$(OBJDIR)/w_wad.o \
$(OBJDIR)/wi_stuff.o \
$(OBJDIR)/v_video.o \
$(OBJDIR)/st_lib.o \
$(OBJDIR)/st_stuff.o \
$(OBJDIR)/hu_stuff.o \
$(OBJDIR)/hu_lib.o \
$(OBJDIR)/s_sound.o \
$(OBJDIR)/z_zone.o \
$(OBJDIR)/info.o \
$(OBJDIR)/sounds.o \
$(OBJDIR)/r_draw8.o \
$(OBJDIR)/v_video8.o \
$(OBJDIR)/r_draw16.o \
$(OBJDIR)/v_video16.o \
$(OBJDIR)/r_draw24.o \
$(OBJDIR)/v_video24.o \
$(OBJDIR)/r_draw32.o \
$(OBJDIR)/v_video32.o \
$(OBJDIR)/i_main.o \
$(OBJDIR)/i_system.o \
$(OBJDIR)/i_net.o \
$(OBJDIR)/i_sound.o \
$(OBJDIR)/i_video.o \
$(OBJDIR)/i_zoom.o \
$(OBJDIR)/i_version.o \
$(OBJDIR)/sound/sndserv.o \
$(SYSTEMOBJS)
############### Rules to build program
all: $(PROGRAM) strip $(SYSTEM)
clean:
rm -rf $(OBJDIR)
rm -f $(PROGRAM)
strip:
strip $(PROGRAM)
$(PROGRAM): $(OBJS)
$(LD) $(VIDEOLIBS) $(OBJS) $(SYSTEMLIBS) -o $(PROGRAM)
$(OBJDIR)/%.o: $(SRCDIR)/%.c
@if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi
@if [ ! -d $(OBJDIR)/video ]; then mkdir $(OBJDIR)/video; fi
@if [ ! -d $(OBJDIR)/sound ]; then mkdir $(OBJDIR)/sound; fi
@if [ ! -d $(OBJDIR)/control ]; then mkdir $(OBJDIR)/control; fi
$(CC) $(INCLUDES) $(CFLAGS) $(SYSTEMFLAGS) $(CPUFLAGS) -c $< -o $@
$(OBJDIR)/$(CPU)/%.o: $(SRCDIR)/$(CPU)/%.s
@if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi
@if [ ! -d $(OBJDIR)/$(CPU) ]; then mkdir $(OBJDIR)/$(CPU); fi
$(AS) -o $@ $<
############### System dependent rules
linux:
@echo "--> Warning: you need to be root to use Svgalib"
chown root $(PROGRAM)
chgrp root $(PROGRAM)
chmod +s $(PROGRAM)
atari:
fixstk 131072 $(PROGRAM)