187 lines
3.5 KiB
Makefile
Executable file
187 lines
3.5 KiB
Makefile
Executable file
TOPDIR = .
|
|
|
|
include $(TOPDIR)/makefile.config
|
|
|
|
SUBDIRS = arch maths 2d 3d texmap misc mem iff cfile main
|
|
|
|
#defines controlling the output filename
|
|
|
|
ifdef MAKE_EDITOR
|
|
SUBDIRS += editor ui
|
|
D1XPREFIX = m
|
|
else
|
|
D1XPREFIX = d
|
|
endif
|
|
|
|
ifdef ENV_MINGW32
|
|
EXT=mw.exe
|
|
endif
|
|
|
|
ifdef D1XD3D
|
|
EXT=3d.exe
|
|
endif
|
|
|
|
ifdef SHAREWARE
|
|
SHRWR = sh
|
|
endif
|
|
|
|
ifdef DEBUG
|
|
DBG = db
|
|
endif
|
|
|
|
ifdef OGL
|
|
OPT = ogl
|
|
endif
|
|
|
|
OUTPUT = $(DESTDIR)/$(D1XPREFIX)1x$(D1XMAJOR)$(D1XMINOR)$(SHRWR)$(DBG)$(SND)$(OPT)$(EXT)
|
|
|
|
#libraries to link with
|
|
|
|
LIBS = \
|
|
$(LIBDIR)main.$(ARC) \
|
|
$(LIBDIR)3d.$(ARC) \
|
|
$(LIBDIR)2d.$(ARC) \
|
|
$(LIBDIR)iff.$(ARC) \
|
|
$(LIBDIR)maths.$(ARC) \
|
|
$(LIBDIR)cfile.$(ARC) \
|
|
$(LIBDIR)mem.$(ARC) \
|
|
$(LIBDIR)misc.$(ARC) \
|
|
$(LIBDIR)texmap.$(ARC) \
|
|
$(LIBDIR)io.$(ARC)
|
|
|
|
#defines for dxbase mode
|
|
|
|
ifdef DXBASE
|
|
CFLAGS += -I$(DXBASE)/include
|
|
LINKLIBS += -L$(DXBASE)/lib
|
|
endif
|
|
|
|
ifdef D1XD3D
|
|
LIBS += $(LIBDIR)d3dframe.$(ARC)
|
|
endif
|
|
|
|
ifdef OGL
|
|
LIBS += $(LIBDIR)ogl.$(ARC)
|
|
endif
|
|
|
|
ifdef SDLGL_IO
|
|
LINKLIBS += -lGL -lGLU
|
|
endif
|
|
|
|
ifdef GLX_IO
|
|
LINKLIBS += -L/usr/X11R6/lib
|
|
ifndef OGL_RUNTIME
|
|
LINKLIBS += -lGL
|
|
endif
|
|
LINKLIBS += -lGLU -lm -lX11 -lXext
|
|
endif
|
|
|
|
ifdef MAKE_EDITOR
|
|
NO_RL2 = 1
|
|
LIBS += $(LIBDIR)editor.$(ARC) $(LIBDIR)ui.$(ARC)
|
|
E_CFLAGS += -DEDITOR -I.
|
|
ifdef ENV_LINUX
|
|
LINKLIBS += -lm
|
|
endif
|
|
endif
|
|
|
|
ifdef ENV_MINGW32
|
|
ifdef WGL_IO
|
|
ifndef OGL_RUNTIME
|
|
LIBS += -lopengl32
|
|
endif
|
|
LIBS += -lglu32 -lgdi32
|
|
endif
|
|
LIBS += -ldinput -lddraw -ldsound -ldxguid -lwsock32 -lwinmm -luser32 -lkernel32
|
|
# LIBS += $(LIBDIR)d1x_res.$(OBJ)
|
|
endif
|
|
|
|
ifdef ENV_MSVC
|
|
LINKLIBS += dinput.lib ddraw.lib dsound.lib dxguid.lib wsock32.lib \
|
|
winmm.lib user32.lib kernel32.lib gdi32.lib
|
|
# LIBS += $(LIBDIR)d1x.res
|
|
ifdef DEBUG
|
|
LINKLIBS += msvcrtd.lib
|
|
else
|
|
LINKLIBS += msvcrt.lib
|
|
endif
|
|
ifdef RELEASE
|
|
LFLAGS = -OPT:REF -PDB:NONE
|
|
else
|
|
LFLAGS = -DEBUG -DEBUGTYPE:CV -PDB:$(LIBDIR)
|
|
endif
|
|
endif
|
|
|
|
ifdef ENV_LINUX
|
|
ifdef SDL
|
|
LIBS += $(LIBDIR)sdl.$(ARC)
|
|
ifdef STATICSDL
|
|
LINKLIBS += $(STATICSDL) -ldl -L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm
|
|
else
|
|
LINKLIBS += -ldl -lSDL
|
|
endif
|
|
endif
|
|
ifdef SVGALIB
|
|
LIBS += $(LIBDIR)svgalib.$(ARC)
|
|
LINKLIBS += -lvga -lvgagl
|
|
endif
|
|
ifdef GGI
|
|
LIBS += $(LIBDIR)ggi.$(ARC)
|
|
endif
|
|
endif
|
|
ifdef SCRIPT
|
|
LIBS += $(LIBDIR)script.$(ARC)
|
|
E_CFLAGS += -DSCRIPT
|
|
ifdef GGI_VIDEO
|
|
LINKLIBS += -lggi
|
|
endif
|
|
ifdef GII_INPUT
|
|
LINKLIBS += -lgii
|
|
endif
|
|
ifdef GLIBC
|
|
LINKLIBS += -lpthread
|
|
endif
|
|
NASM = nasm -f elf -d__LINUX__
|
|
endif
|
|
|
|
default: $(OUTPUT)
|
|
|
|
$(DESTDIR):
|
|
mkdir $(DESTDIR)
|
|
|
|
include $(TOPDIR)/makefile.rules
|
|
|
|
#rule for building the descent binary
|
|
|
|
ifdef ENV_MSVC
|
|
$(OUTPUT): $(DESTDIR) $(SUBDIRS)
|
|
link $(LFLAGS) -out:$(OUTPUT) -machine:i386 -subsystem:console $(LIBS) $(LINKLIBS)
|
|
else
|
|
$(OUTPUT): $(DESTDIR) $(SUBDIRS)
|
|
$(CC) $(LFLAGS) -o $@ $(LIBS) $(LINKLIBS)
|
|
ifdef RELEASE
|
|
ifndef DEBUGABLE
|
|
strip --strip-all $(OUTPUT)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
#rule for building the ip daemon
|
|
|
|
ifdef SUPPORTS_NET_IP
|
|
IP_DAEMON_OUTPUT=$(DESTDIR)/$(D1XPREFIX)1x$(D1XMAJOR)$(D1XMINOR)$(DBG)$(EXT)_ip_daemon
|
|
IP_DAEMON_LIBS=$(TOPDIR)/main/$(OBJDIR)ipserver.$(OBJ) $(TOPDIR)/arch/linux/$(OBJDIR)arch_ip.$(OBJ) $(TOPDIR)/main/$(OBJDIR)ip_base.$(OBJ) $(TOPDIR)/arch/linux/$(OBJDIR)timer.$(OBJ) $(TOPDIR)/arch/linux/$(OBJDIR)mono.$(OBJ) $(TOPDIR)/main/$(OBJDIR)args.$(OBJ) $(TOPDIR)/mem/$(OBJDIR)mem.$(OBJ) $(TOPDIR)/misc/$(OBJDIR)strio.$(OBJ) $(TOPDIR)/misc/$(OBJDIR)strutil.$(OBJ) $(TOPDIR)/misc/$(OBJDIR)error.$(OBJ) $(TOPDIR)/lib/maths.a
|
|
|
|
ip_daemon: $(IP_DAEMON_OUTPUT)
|
|
|
|
$(IP_DAEMON_OUTPUT): $(SUBDIRS)
|
|
$(CXX) $(LFLAGS) -o $(IP_DAEMON_OUTPUT) $(IP_DAEMON_LIBS)
|
|
endif
|
|
|
|
clean:
|
|
-rm $(OUTPUT)
|
|
-rm $(IP_DAEMON_OUTPUT)
|
|
$(CLEANSUBS)
|
|
|
|
depend:
|
|
$(DEPSUBS)
|