# Makefile for Linux Heretic/GLHeretic # Comment the line below if you don't want to build GLHeretic. #WANT_OGL = yes # Comment this if you don't want to build GLHeretic # with highest quality options. # (Only if you have WANT_OGL !) #WANT_NICE_OGL = yes # Uncomment the line below if you want to use GSI for sound. # (doesn't really work yet. :-() #WANT_GSI = yes #CC = gcc -pipe # # For old SVGALIB, comment out -D__NEWVGALIB__ # CDEFS.ipx = -DUNIX -DHAVE_USLEEP -DHAVE_MATH_H -DHAVE_VALUES_H -DLINUX_MOUSE \ -DIPX_PROTOCOL -DI_GGI_HERETIC -DNEED_SHMGETEVENTBASE \ -D__NEWVGALIB__ # -DIPX_DEBUG -DEXTRA_WADS CDEFS.udp = -DUNIX -DHAVE_USLEEP -DHAVE_MATH_H -DLINUX_MOUSE \ -DUDP_PROTOCOL -DI_GGI_HERETIC -DNEED_SHMGETEVENTBASE \ -D__NEWVGALIB__ # -DEXTRA_WADS CDEFS.solaris = -DUNIX -DHAVE_USLEEP -DHAVE_MATH_H -DHAVE_VALUES_H \ -DUDP_PROTOCOL -DNEED_SHMGETEVENTBASE -DSOLARIS # Plattform specific definitions # _begin_ COPT.x86 = -O2 -fomit-frame-pointer -mcpu=i586 -march=i586 -D__32BIT__ \ -DHAVE_ALLOCA_H -DINLINE_FIXED COPT.m68k = -m68020-60 -O2 -fomit-frame-pointer -D__BIG_ENDIAN__ -D__32BIT__ \ -DHAVE_ALLOCA_H COPT.alpha = -O2 -D__64BIT__ -DHAVE_ALLOCA_H COPT.FreeBSD = -D__32BIT__ -DHOMEDIR='"\"${PREFIX}/share/heretic\""' COPT.arm = -O2 -D__32BIT__ -fsigned-char -fomit-frame-pointer \ -DHAVE_ALLOCA_H -D__PACKED__=__attribute__\ \(\(packed\)\) COPT.sparc = -O2 -D__BIG_ENDIAN__ -D__32BIT__ -mcpu=v8 \ -DHAVE_ALLOCA_H -D__PACKED__=__attribute__\ \(\(packed\)\) # _end_ ifeq ($(WANT_OGL),yes) COPT.opengl = -Iopengl -DGL_HERETIC -I/usr/X11R6/include ifeq ($(WANT_NICE_OGL),yes) COPT.opengl += -DNICE_GL endif endif # Change this to change the platform COPT.arch = $(COPT.FreeBSD) # If you want IPX-netcode compiled, replace $(CDEFS.udp) with $(CDEFS.ipx) CFLAGS += $(CDEFS.udp) $(COPT.arch) \ -I. -I.. -I${X11BASE}/include -I${LOCALBASE}/include $(COPT.sound) $(COPT.opengl) # Uncomment the line below if you want to use original "[" and "]" keys # for inventory access, instead of "k" and "l". #CFLAGS += -DORIG_INVKEYS ifeq ($(WANT_GSI),yes) SOUND_OBJS = gsisound/i_sound.o gsisound/soundst.o gsisound/sounds.o \ gsisound/gsi.o m_misc.o SOUND_REFS = gsisound/i_sound.c gsisound/soundst.c gsisound/sounds.c \ gsisound/gsi.c m_misc.c COPT.sound = -D__DOSOUND__ -D__DOMUSIC__ -DUSE_GSI -Igsisound X11LIBS = -Xext -lX11 -lm else SOUND_OBJS = soundclient/i_sound.o soundclient/soundst.o soundclient/sounds.o \ m_misc.o SOUND_REFS = soundclient/i_sound.c soundclient/soundst.c soundclient/sounds.c \ m_misc.c COPT.sound = -D__DOSOUND__ -DSNDSERV -Isoundclient -D__DOMUSIC__ -DMUSSERV # -D_DEBUGSOUND X11LIBS = -lXext -lX11 #MUSSERV = musserver SNDSERV = sndserver endif X_LDFLAGS = -L${X11BASE}/lib X11LIBS = -lXext -lX11 GLLIBS = `${SDL_CONFIG} --libs` ${PTHREAD_LIBS} GGILIBS = -lggi -lm VGALIBS = -lvga SDLLIBS = `${SDL_CONFIG} --libs` ${PTHREAD_LIBS} OBJS = am_map.o ct_chat.o d_main.o d_net.o f_finale.o g_game.o \ p_ceilng.o p_doors.o p_enemy.o p_floor.o p_inter.o p_lights.o \ p_map.o p_maputl.o p_mobj.o p_plats.o p_pspr.o p_setup.o p_sight.o \ p_spec.o p_switch.o p_telept.o p_tick.o p_user.o r_bsp.o r_data.o \ r_draw.o r_plane.o r_segs.o r_things.o r_main.o mn_menu.o sb_bar.o \ tables.o v_video.o w_wad.o z_zone.o in_lude.o \ info.o i_net.o i_system.o i_udp.o i_main.o $(SOUND_OBJS) GLOBJS = opengl/gl_effects.o opengl/gl_floorceil.o opengl/gl_fonts.o \ opengl/gl_func.o opengl/gl_init.o opengl/gl_lights.o \ opengl/gl_sprites.o opengl/gl_texture.o opengl/gl_walls.o \ opengl/gl_weapon.o opengl/loadlum.o opengl/gl_mem.o all: @echo "Choose one of following actions:" @echo ifeq ($(WANT_OGL),yes) @echo " make glheretic - will build GLHeretic - needs OpenGL hardware accelleration" @echo else @echo " make x11 - will build xheretic - runs under X11" @echo @echo " make fastx11 - will build xaheretic (fast X-version) - runs under X11" @echo @echo " make ggi - will build ggiheretic - runs under GGI" @echo @echo " make vga - will build vgaheretic - runs under SVGAlib" @echo @echo " make sdl - will build sdlheretic - runs under SDL-lib" @echo endif @echo " make sndserver - will build the soundserver for Heretic" @echo @echo " make musserver - will build the musicserver (from lxdoom) for Heretic" @echo @echo " make clean - will clean up object and exec files" @echo clean: rm -f $(OBJS) $(GLOBJS) xheretic xaheretic glheretic \ ggiheretic vgaheretic sdlheretic graphics/i_sdl_gl.o \ graphics/i_x11.o graphics/i_x11_fast.o \ graphics/i_ggi.o graphics/i_vga.o graphics/i_sdl.o (cd sndserv; $(MAKE) clean; cd ..) || exit 1 (cd musserv; $(MAKE) clean; cd ..) || exit 1 (cd opengl/sgi-si/libtess; $(MAKE) clean; cd ../../../) || exit 1 distclean: rm -f $(OBJS) $(GLOBJS) xheretic xaheretic ggiheretic vgaheretic \ sdlheretic glheretic graphics/i_x11.o graphics/i_x11_fast.o \ graphics/i_sdl.o graphics/i_sdl_gl.o graphics/*.orig \ graphics/i_ggi.o graphics/i_vga.o graphics/*~ graphics/*.rej \ .depend soundclient/*~ gsisound/*~ sndserv/*~ opengl/*~ *~ \ *.rej *.orig doc/*~ doc/*.rej doc/*.orig (cd sndserv; $(MAKE) clean; cd ..) || exit 1 (cd musserv; $(MAKE) clean; cd ..) || exit 1 (cd opengl/sgi-si/libtess; $(MAKE) clean; cd ../../../) || exit 1 depx11: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c $(SOUND_REFS) \ graphics/i_x11.c > .depend depx11f: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c $(SOUND_REFS) \ graphics/i_x11.c > .depend depsdlogl: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c opengl/*.c \ $(SOUND_REFS) graphics/i_sdl_gl.c > .depend depggi: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c $(SOUND_REFS) \ graphics/i_ggi.c > .depend depvga: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c $(SOUND_REFS) \ graphics/i_vga.c > .depend depsdl: $(CC) -E -M $(CFLAGS) $(X_LDFLAGS) *.c $(SOUND_REFS) \ graphics/i_sdl.c > .depend x11: depx11 $(OBJS) graphics/i_x11.o $(MUSSERV) $(SNDSERV) $(CC) $(CFLAGS) $(X_LDFLAGS) $(X11LIBS) $(OBJS) \ graphics/i_x11.o -o xheretic fastx11:depx11f $(OBJS) graphics/i_x11_fast.o $(MUSSERV) $(SNDSERV) $(CC) $(CFLAGS) $(X_LDFLAGS) $(X11LIBS) $(OBJS) \ graphics/i_x11_fast.o -o xaheretic glheretic:depsdlogl $(OBJS) $(GLOBJS) graphics/i_sdl_gl.o \ $(MUSSERV) $(SNDSERV) sgi-libtess ifeq ($(WANT_OGL_FULLSCREEN),yes) $(CC) $(CFLAGS) $(X_LDFLAGS) $(X11LIBS) $(GLLIBS) \ $(OBJS) $(GLOBJS) /usr/X11R6/lib/libXxf86vm.a \ opengl/sgi-si/libtess/libtess.a graphics/i_sdl_gl.o -o $@ else $(CC) $(CFLAGS) $(X_LDFLAGS) $(X11LIBS) $(GLLIBS) \ $(OBJS) $(GLOBJS) opengl/sgi-si/libtess/libtess.a graphics/i_sdl_gl.o -o $@ endif ggi: depggi $(OBJS) graphics/i_ggi.o $(MUSSERV) $(SNDSERV) $(CC) $(CFLAGS) $(GGILIBS) $(OBJS) \ graphics/i_ggi.o -o ggiheretic vga: depvga $(OBJS) graphics/i_vga.o $(MUSSERV) $(SNDSERV) $(CC) $(CFLAGS) $(VGALIBS) $(OBJS) \ graphics/i_vga.o -o vgaheretic sdl: depsdl $(OBJS) graphics/i_sdl.o $(MUSSERV) $(SNDSERV) $(CC) $(CFLAGS) $(X_LDFLAGS) $(SDLLIBS) $(OBJS) \ graphics/i_sdl.o -o sdlheretic sndserver: $(MAKE) -C sndserv COPT.arch="$(COPT.arch)" $@ musserver: $(MAKE) -C musserv COPT.arch="$(COPT.arch)" $@ sgi-libtess: $(MAKE) -C opengl/sgi-si/libtess $@ %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ ifeq (.depend,$(wildcard .depend)) include .depend endif