home *** CD-ROM | disk | FTP | other *** search
Makefile | 1999-12-17 | 5.1 KB | 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)
-