bgfx/3rdparty/openctm/tools/Makefile.msvc
2012-10-07 20:41:18 -07:00

119 lines
5.1 KiB
Text

###############################################################################
# Product: OpenCTM tools
# File: Makefile.msvc
# Description: Makefile for the OpenCTM tools, MS Visual Studio version
###############################################################################
# Copyright (c) 2009-2010 Marcus Geelnard
#
# This software is provided 'as-is', without any express or implied
# warranty. In no event will the authors be held liable for any damages
# arising from the use of this software.
#
# Permission is granted to anyone to use this software for any purpose,
# including commercial applications, and to alter it and redistribute it
# freely, subject to the following restrictions:
#
# 1. The origin of this software must not be misrepresented; you must not
# claim that you wrote the original software. If you use this software
# in a product, an acknowledgment in the product documentation would be
# appreciated but is not required.
#
# 2. Altered source versions must be plainly marked as such, and must not
# be misrepresented as being the original software.
#
# 3. This notice may not be removed or altered from any source
# distribution.
###############################################################################
OPENCTMDIR = ..\lib
GLEWDIR = glew
JPEGDIR = jpeg
RPLYDIR = rply
TINYXMLDIR = tinyxml
ZLIBDIR = zlib
PNGLITEDIR = pnglite
CPP = cl
CPPFLAGS = /nologo /c /Ox /W3 /EHsc /I$(OPENCTMDIR) /I$(RPLYDIR) /I$(JPEGDIR) /I$(TINYXMLDIR) /I$(GLEWDIR) /I$(ZLIBDIR) /I$(PNGLITEDIR) /DGLEW_STATIC /D_CRT_SECURE_NO_WARNINGS
RC = rc
MESHOBJS = mesh.obj meshio.obj ctm.obj ply.obj rply.obj stl.obj 3ds.obj dae.obj obj.obj lwo.obj off.obj wrl.obj
CTMCONVOBJS = ctmconv.obj common.obj systimer.obj convoptions.obj $(MESHOBJS) ctmconv.res
CTMVIEWEROBJS = ctmviewer.obj common.obj image.obj systimer.obj sysdialog_win.obj convoptions.obj glew.obj pnglite.obj $(MESHOBJS) ctmviewer.res
CTMBENCHOBJS = ctmbench.obj systimer.obj
all: ctmconv.exe ctmviewer.exe ctmbench.exe
clean:
del /Q ctmconv.exe ctmviewer.exe ctmbench.exe $(CTMCONVOBJS) $(CTMVIEWEROBJS) $(CTMBENCHOBJS) bin2c.exe phong_frag.h phong_vert.h
cd $(JPEGDIR) && $(MAKE) /fmakefile.vc cleanlib
cd $(TINYXMLDIR) && $(MAKE) /fMakefile.msvc clean
cd $(ZLIBDIR) && $(MAKE) /fMakefile.msvc clean
openctm.dll: $(OPENCTMDIR)\openctm.dll
copy $(OPENCTMDIR)\openctm.dll openctm.dll
ctmconv.exe: $(CTMCONVOBJS) $(TINYXMLDIR)\tinyxml.lib openctm.dll
$(CPP) /nologo /Fe$@ $(CTMCONVOBJS) /link /LIBPATH:$(OPENCTMDIR) /LIBPATH:$(TINYXMLDIR) openctm.lib tinyxml.lib
ctmviewer.exe: $(CTMVIEWEROBJS) $(JPEGDIR)\libjpeg.lib $(TINYXMLDIR)\tinyxml.lib $(ZLIBDIR)\libz.lib openctm.dll
$(CPP) /nologo /Fe$@ $(CTMVIEWEROBJS) /link /subsystem:windows /entry:mainCRTStartup /LIBPATH:$(OPENCTMDIR) /LIBPATH:$(TINYXMLDIR) /LIBPATH:$(JPEGDIR) /LIBPATH:$(ZLIBDIR) openctm.lib tinyxml.lib glut.lib libjpeg.lib libz.lib opengl32.lib glu32.lib
ctmbench.exe: $(CTMBENCHOBJS) openctm.dll
$(CPP) /nologo /Fe$@ $(CTMBENCHOBJS) /link /LIBPATH:$(OPENCTMDIR) openctm.lib
.cpp.obj:
$(CPP) $(CPPFLAGS) /Fo$@ $<
ctmconv.obj: ctmconv.cpp systimer.h convoptions.h mesh.h meshio.h
ctmviewer.obj: ctmviewer.cpp common.h image.h systimer.h sysdialog.h mesh.h meshio.h phong_vert.h phong_frag.h icons\icon_open.h icons\icon_save.h icons\icon_help.h
ctmbench.obj: ctmbench.cpp systimer.h
common.obj: common.cpp common.h
image.obj: image.cpp image.h common.h $(JPEGDIR)\libjpeg.lib
systimer.obj: systimer.cpp systimer.h
sysdialog_win.obj: sysdialog_win.cpp sysdialog.h
convoptions.obj: convoptions.cpp convoptions.h
mesh.obj: mesh.cpp mesh.h convoptions.h
meshio.obj: meshio.cpp common.h convoptions.h mesh.h ctm.h ply.h stl.h 3ds.h dae.h obj.h lwo.h off.h wrl.h
ctm.obj: ctm.cpp ctm.h mesh.h convoptions.h
ply.obj: ply.cpp ply.h mesh.h convoptions.h common.h
stl.obj: stl.cpp stl.h mesh.h convoptions.h
3ds.obj: 3ds.cpp 3ds.h mesh.h convoptions.h
dae.obj: dae.cpp dae.h mesh.h convoptions.h
obj.obj: obj.cpp obj.h mesh.h convoptions.h common.h
lwo.obj: lwo.cpp lwo.h mesh.h convoptions.h
off.obj: off.cpp off.h mesh.h convoptions.h common.h
wrl.obj: wrl.cpp wrl.h mesh.h convoptions.h common.h
phong_vert.h: phong.vert bin2c.exe
bin2c.exe phong.vert phongVertSrc > $@
phong_frag.h: phong.frag bin2c.exe
bin2c.exe phong.frag phongFragSrc > $@
bin2c.exe: bin2c.cpp
$(CPP) /nologo /Ox /W3 /EHsc /Fe$@ bin2c.cpp
ctmconv.res: ctmconv.rc icons\openctm.ico
$(RC) ctmconv.rc
ctmviewer.res: ctmviewer.rc icons\openctm.ico
$(RC) ctmviewer.rc
$(JPEGDIR)\libjpeg.lib:
cd $(JPEGDIR) && $(MAKE) /fmakefile.vc libjpeg.lib
$(ZLIBDIR)\libz.lib:
cd $(ZLIBDIR) && $(MAKE) /fMakefile.msvc
glew.obj: $(GLEWDIR)\glew.c
cl /nologo /c /Ox /W3 /I$(GLEWDIR) /DGLEW_STATIC /Fo$@ $(GLEWDIR)\glew.c
rply.obj: $(RPLYDIR)\rply.c
cl /nologo /c /Ox /W3 /I$(RPLYDIR) /D_CRT_SECURE_NO_WARNINGS /Fo$@ $(RPLYDIR)\rply.c
pnglite.obj: $(PNGLITEDIR)\pnglite.c
cl /nologo /c /Ox /W3 /I$(PNGLITEDIR) /D_CRT_SECURE_NO_WARNINGS /Fo$@ $(PNGLITEDIR)\pnglite.c
$(TINYXMLDIR)\tinyxml.lib:
cd $(TINYXMLDIR) && $(MAKE) /fMakefile.msvc