# viDOOM - level editor for DOOM
# 
# Copyright (C) 2000  Ian Cowburn (ianc@noddybox.demon.co.uk)
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
# 
# -------------------------------------------------------------------------
#

#
# START OF CONFIGURATION PART
#
# 1. The platform to compile for.  Currently supported ones are:
#	djgpp
#
MAKEPLAT=djgpp


# 2. Set to the directory where you want to install viDOOM.  Note this is not
#    used in the default make - a 'make install' must be issued to activate
#    this.
#
INSTALLDIR=C:/viDOOM


# 3. The directory seperator for this machine.  This is unquoted (unlike the
#    seperator in the config file) as this is for the makefiles own use.
#
MKDS=/


#
# END OF CONFIGURATION PART
#



# Shouldn't be any need to edit past here
#
include make$(MKDS)$(MAKEPLAT).cfg


# Uncomment to build debug version
#
# DEBUG=$(DEFINEFLAG)DEBUG


CFLAGS=		$(EXTRACF) $(DEFINEFLAG)TRACEFORM='$(TRACEFORM)' $(DEBUG) \
		$(DEFINEFLAG)PLATFORM=$(PLATFORM) \
		$(DEFINEFLAG)DIRSEP='$(DIRSEP)' $(INCFLAG).

VIDOOM=		vidoom
WADDIR=		waddir
GFXTEST=	gfxtest

COMMON_OBJ=	$(PLATFORM)$(MKDS)main$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)file$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)gfx$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)mem$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)platgui$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)runcmd$(OBJ_EXT) \
		$(PLATFORM)$(MKDS)vstring$(OBJ_EXT) \
		ini$(OBJ_EXT) wad$(OBJ_EXT) \
		list$(OBJ_EXT) map$(OBJ_EXT) gui$(OBJ_EXT) debug$(OBJ_EXT) \
		globals$(OBJ_EXT) texture$(OBJ_EXT) things$(OBJ_EXT) \
		linedefs$(OBJ_EXT) sectors$(OBJ_EXT) edit$(OBJ_EXT) \
		editcord$(OBJ_EXT) editdraw$(OBJ_EXT) editgui$(OBJ_EXT) \
		editevnt$(OBJ_EXT) editline$(OBJ_EXT) editmult$(OBJ_EXT) \
		editsect$(OBJ_EXT) editsel$(OBJ_EXT) editthng$(OBJ_EXT) \
		editvar$(OBJ_EXT) editvert$(OBJ_EXT) editsrot$(OBJ_EXT) \
		editcrse$(OBJ_EXT) editilst$(OBJ_EXT) editmrg$(OBJ_EXT)

ALL_HEADERS=	vidoom.h config.h file.h gfx.h mem.h map.h runcmd.h \
		ini.h wad.h list.h edit.h platgui.h gui.h debug.h globals.h \
		texture.h things.h linedefs.h editvar.h

VIDOOM_OBJ=	vidoom$(OBJ_EXT) $(COMMON_OBJ)
WADDIR_OBJ=	waddir$(OBJ_EXT) $(COMMON_OBJ)
GFXTEST_OBJ=	gfxtest$(OBJ_EXT) $(COMMON_OBJ)



$(VIDOOM)$(EXE_EXT):$(VIDOOM_OBJ)
	$(LD) $(EXTRALF) $(EXEFLAG) $(VIDOOM)$(EXE_EXT) \
		$(VIDOOM_OBJ) $(LIBS) $(MATHLIB)

$(WADDIR)$(EXE_EXT):$(WADDIR_OBJ)
	$(LD) $(EXTRALF) $(EXEFLAG) $(WADDIR)$(EXE_EXT) \
		$(WADDIR_OBJ) $(LIBS) $(MATHLIB)

$(GFXTEST)$(EXE_EXT):$(GFXTEST_OBJ)
	$(LD) $(EXTRALF) $(EXEFLAG) $(GFXTEST)$(EXE_EXT) $(GFXTEST_OBJ) \
		$(LIBS) $(MATHLIB)

all: $(VIDOOM)$(EXE_EXT) $(WADDIR)$(EXE_EXT) $(GFXTEST)$(EXE_EXT)


$(PLATFORM)$(MKDS)main$(OBJ_EXT): $(PLATFORM)$(MKDS)main.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. main.c ; cd ..

$(PLATFORM)$(MKDS)file$(OBJ_EXT): $(PLATFORM)$(MKDS)file.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. file.c ; cd ..

$(PLATFORM)$(MKDS)gfx$(OBJ_EXT): $(PLATFORM)$(MKDS)gfx.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. gfx.c ; cd ..

$(PLATFORM)$(MKDS)mem$(OBJ_EXT): $(PLATFORM)$(MKDS)mem.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. mem.c ; cd ..

$(PLATFORM)$(MKDS)platgui$(OBJ_EXT): $(PLATFORM)$(MKDS)platgui.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. platgui.c ; cd ..

$(PLATFORM)$(MKDS)runcmd$(OBJ_EXT): $(PLATFORM)$(MKDS)runcmd.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. runcmd.c ; cd ..

$(PLATFORM)$(MKDS)vstring$(OBJ_EXT): $(PLATFORM)$(MKDS)vstring.c $(ALL_HEADERS)
	cd $(PLATFORM); $(CC) $(CFLAGS) $(OBJFLAG) $(INCFLAG).. vstring.c ; cd ..


debug$(OBJ_EXT): debug.c config.h debug.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

edit$(OBJ_EXT): edit.c config.h globals.h edit.h wad.h map.h list.h editvar.h \
		things.h gfx.h platgui.h linedefs.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editcord$(OBJ_EXT): editcord.c config.h globals.h  texture.h gfx.h platgui.h \
		    editvar.h things.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editdraw$(OBJ_EXT): editdraw.c config.h globals.h  editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editevnt$(OBJ_EXT): editevnt.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editgui$(OBJ_EXT): editgui.c config.h globals.h editvar.h things.h gfx.h \
		   platgui.h linedefs.h wad.h map.h list.h gui.h mem.h texture.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editline$(OBJ_EXT): editline.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editsect$(OBJ_EXT): editsect.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editsel$(OBJ_EXT): editsel.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editsrot$(OBJ_EXT): editsrot.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editcrse$(OBJ_EXT): editcrse.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editthng$(OBJ_EXT): editthng.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editvar$(OBJ_EXT): editvar.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editvert$(OBJ_EXT): editvert.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editmrg$(OBJ_EXT): editmrg.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editmult$(OBJ_EXT): editmult.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

editilst$(OBJ_EXT): editilst.c config.h globals.h editvar.h things.h gfx.h \
		    platgui.h linedefs.h wad.h map.h list.h gui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

gfxtest$(OBJ_EXT): gfxtest.c config.h globals.h gfx.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

globals$(OBJ_EXT): globals.c config.h globals.h  ini.h gfx.h texture.h \
		    platgui.h things.h linedefs.h sectors.h wad.h map.h list.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

gui$(OBJ_EXT): gui.c config.h globals.h gui.h gfx.h platgui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

ini$(OBJ_EXT): ini.c config.h ini.h mem.h file.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

linedefs$(OBJ_EXT): linedefs.c config.h globals.h linedefs.h wad.h map.h \
		    list.h gfx.h platgui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

sectors$(OBJ_EXT): sectors.c config.h globals.h sectors.h wad.h map.h list.h \
		    gfx.h platgui.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

list$(OBJ_EXT): list.c config.h list.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

map$(OBJ_EXT): map.c config.h map.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

texture$(OBJ_EXT): texture.c config.h globals.h texture.h gfx.h platgui.h \
		    wad.h map.h list.h mem.h gui.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

things$(OBJ_EXT): things.c config.h globals.h things.h gfx.h platgui.h mem.h \
		  list.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<

wad$(OBJ_EXT): wad.c config.h globals.h  wad.h map.h list.h gfx.h mem.h
	$(CC) $(CFLAGS) $(OBJFLAG) $<


$(VIDOOM)$(OBJ_EXT): $(VIDOOM).c $(ALL_HEADERS)
	$(CC) $(CFLAGS) $(OBJFLAG) $(VIDOOM).c

$(WADDIR)$(OBJ_EXT): $(WADDIR).c $(ALL_HEADERS)
	$(CC) $(CFLAGS) $(OBJFLAG) $(WADDIR).c


# Rule for installation
#
install: $(VIDOOM)$(EXE_EXT) FORCE
	cd $(PLATFORM) ; $(MAKEINSTALL)

FORCE:


#
# $Id: makefile,v 1.28 2000/07/28 15:30:24 dosuser Exp dosuser $
#
# END OF FILE