--- doom/makefile 2018/04/24 16:38:34 1.1.1.3 +++ doom/makefile 2018/04/24 16:39:10 1.1.1.4 @@ -1,120 +1,98 @@ - -# -------------------------------------------------------------------------- -# -# WCC386 Options: +################################################################ # -# 4r use 80486 timings and register argument passing -# c compile only -# d1 include line number debugging information -# d2 include full sybolic debugging information -# ei force enums to be of type int -# j change char default from unsigned to signed -# oa relax aliasing checking -# od do not optimize -# oe[=#] expand functions inline, # = quads (default 20) -# oi use the inline library functions -# om generate inline 80x87 code for math functions -# ot optimize for time -# ox maximum optimization -# s remove stack overflow checks -# zp1 align structures on bytes -# zq use quiet mode -# /i=dir add include directories +# $Id: makefile,v 1.1.1.4 2018/04/24 16:39:10 root Exp $ # -# -------------------------------------------------------------------------- +# $Log: makefile,v $ +# Revision 1.1.1.4 2018/04/24 16:39:10 root +# LinuxDoom +# +# +CC= gcc # gcc or g++ + +CFLAGS=-g -Wall -DNORMALUNIX -DLINUX # -DUSEASM +LDFLAGS=-L/usr/X11R6/lib +LIBS=-lXext -lX11 -lnsl -lm + +# subdirectory for objects +O=linux + +# not too sophisticated dependency +OBJS= \ + $(O)/doomdef.o \ + $(O)/doomstat.o \ + $(O)/dstrings.o \ + $(O)/i_system.o \ + $(O)/i_sound.o \ + $(O)/i_video.o \ + $(O)/i_net.o \ + $(O)/tables.o \ + $(O)/f_finale.o \ + $(O)/f_wipe.o \ + $(O)/d_main.o \ + $(O)/d_net.o \ + $(O)/d_items.o \ + $(O)/g_game.o \ + $(O)/m_menu.o \ + $(O)/m_misc.o \ + $(O)/m_argv.o \ + $(O)/m_bbox.o \ + $(O)/m_fixed.o \ + $(O)/m_swap.o \ + $(O)/m_cheat.o \ + $(O)/m_random.o \ + $(O)/am_map.o \ + $(O)/p_ceilng.o \ + $(O)/p_doors.o \ + $(O)/p_enemy.o \ + $(O)/p_floor.o \ + $(O)/p_inter.o \ + $(O)/p_lights.o \ + $(O)/p_map.o \ + $(O)/p_maputl.o \ + $(O)/p_plats.o \ + $(O)/p_pspr.o \ + $(O)/p_setup.o \ + $(O)/p_sight.o \ + $(O)/p_spec.o \ + $(O)/p_switch.o \ + $(O)/p_mobj.o \ + $(O)/p_telept.o \ + $(O)/p_tick.o \ + $(O)/p_saveg.o \ + $(O)/p_user.o \ + $(O)/r_bsp.o \ + $(O)/r_data.o \ + $(O)/r_draw.o \ + $(O)/r_main.o \ + $(O)/r_plane.o \ + $(O)/r_segs.o \ + $(O)/r_sky.o \ + $(O)/r_things.o \ + $(O)/w_wad.o \ + $(O)/wi_stuff.o \ + $(O)/v_video.o \ + $(O)/st_lib.o \ + $(O)/st_stuff.o \ + $(O)/hu_stuff.o \ + $(O)/hu_lib.o \ + $(O)/s_sound.o \ + $(O)/z_zone.o \ + $(O)/info.o \ + $(O)/sounds.o + +all: $(O)/linuxxdoom + +clean: + rm -f *.o *~ *.flc + rm -f linux/* + +$(O)/linuxxdoom: $(OBJS) $(O)/i_main.o + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(O)/i_main.o \ + -o $(O)/linuxxdoom $(LIBS) -LOCOBJS = & - i_cdmus.obj & - i_cyber.obj & - i_ibm.obj & - i_ibm_a.obj & - i_sound.obj & - linear.obj - -GLOBOBJS = & - am_map.obj & - a_action.obj & - ct_chat.obj & - d_net.obj & - f_finale.obj & - g_game.obj & - h2_main.obj & - info.obj & - in_lude.obj & - mn_menu.obj & - m_misc.obj & - p_acs.obj & - p_anim.obj & - p_ceilng.obj & - p_doors.obj & - p_enemy.obj & - p_floor.obj & - p_inter.obj & - p_lights.obj & - p_map.obj & - p_maputl.obj & - p_mobj.obj & - p_plats.obj & - p_pspr.obj & - p_setup.obj & - p_sight.obj & - p_spec.obj & - p_switch.obj & - p_telept.obj & - p_tick.obj & - p_things.obj & - p_user.obj & - po_man.obj & - r_bsp.obj & - r_data.obj & - r_draw.obj & - r_main.obj & - r_plane.obj & - r_segs.obj & - r_things.obj & - sb_bar.obj & - sc_man.obj & - sn_sonix.obj & - st_start.obj & - sv_save.obj & - sounds.obj & - tables.obj & - v_video.obj & - w_wad.obj & - z_zone.obj - -default: .SYMBOLIC - @echo. - @echo You must use M.BAT to build Hexen. - @echo Type "M /?" for help. - @echo. +$(O)/%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ +############################################################# # -# DEBUG Build: -# -# The EXTERNOPT macro should be set to /d2 -# -# FINAL Build: -# -# The EXTERNOPT macro should be set to /dNORANGECHECKING -# - -VERSION_ID = BCP - -VERSIONOPT = /dVER_ID="$(VERSION_ID)" - -CCOPTS = $(EXTERNOPT) $(VERSIONOPT) /omaxet /zp1 /4r /ei /j /zq /i=dmx - -hex.exe : $(LOCOBJS) $(GLOBOBJS) - wlink @hex.lnk - ncopy hex.exe striphex.exe - wstrip striphex.exe - 4gwbind 4gwpro.exe striphex.exe hexen.exe -V - ncopy hex.map v_$(VERSION_ID).map - prsucc - -.c.obj : - wcc386 $(CCOPTS) $[* - -.asm.obj : - tasm /mx $[* +############################################################# \ No newline at end of file