Blame VCPP/sample/Makefile

Packit a4aae4
# Sample Makefile to illustrate how to compile and link with
Packit a4aae4
# libdap (under VC++ 8.x)
Packit a4aae4
Packit a4aae4
OBJDIR		= .\objects
Packit a4aae4
SRCDIR		= .
Packit a4aae4
Packit a4aae4
# Compiler, Linker
Packit a4aae4
CC		= cl
Packit a4aae4
LINK		= link
Packit a4aae4
Packit a4aae4
# Setup compiler flags
Packit a4aae4
MTCFLAGS	= /MT
Packit a4aae4
MDCFLAGS	= /MD
Packit a4aae4
CFLAGS		= /nologo /W0 /GR /EHsc /c
Packit a4aae4
Packit a4aae4
# Setup linker flags
Packit a4aae4
EMTLFLAGS	= /nologo /libpath:..\..\lib /NODEFAULTLIB:MSVCRT.lib
Packit a4aae4
EMDLFLAGS	= /nologo /libpath:..\..\lib
Packit a4aae4
Packit a4aae4
# Setup link libraries
Packit a4aae4
EMTLLIBS	= libdapMT.lib libdapclientMT.lib libxml2.lib libcurl.lib zlib.lib libxdr.lib pthreadVC.lib
Packit a4aae4
EMDLLIBS	= libdapMD.lib libdapclientMD.lib libxml2.lib libcurl.lib zlib.lib libxdr.lib pthreadVC.lib
Packit a4aae4
Packit a4aae4
# Setup compiler includes and defines
Packit a4aae4
INCS		= /I . /I ..\..\include /I ..\..\include\GNU /I ..\..\include\gl /I ..\..\include\xdr /I ..\..\include\curl /I ..\..\include\pthreads
Packit a4aae4
CPPUNITINCS	= $(INCS) /I $(INCLUDEDIR)/cppunit
Packit a4aae4
DEFS		= /D WIN32 /D WIN32_LEAN_AND_MEAN
Packit a4aae4
CPPFLAGS	= $(DEFS) $(INCS)
Packit a4aae4
Packit a4aae4
default:
Packit a4aae4
	@echo "usage: nmake model<MT|MD>; nmake all"
Packit a4aae4
Packit a4aae4
all:
Packit a4aae4
	nmake modelMT
Packit a4aae4
	nmake modelMD
Packit a4aae4
Packit a4aae4
modelMT: setup
Packit a4aae4
	-md $(OBJDIR)\MT
Packit a4aae4
	nmake CFLAGS="$(CFLAGS) $(MTCFLAGS)" LFLAGS="$(EMTLFLAGS)" LIBS="$(EMTLLIBS)" OBJDIR=$(OBJDIR)\MT getdap
Packit a4aae4
Packit a4aae4
modelMD: setup
Packit a4aae4
	-md $(OBJDIR)\MD
Packit a4aae4
	nmake CFLAGS="$(CFLAGS) $(MDCFLAGS)" LFLAGS="$(EMDLFLAGS)" LIBS="$(EMDLLIBS)" OBJDIR=$(OBJDIR)\MD getdap
Packit a4aae4
Packit a4aae4
# Clear built-in rules and set new ones
Packit a4aae4
.SUFFIXES :
Packit a4aae4
.SUFFIXES :	.obj .cc .exe
Packit a4aae4
Packit a4aae4
{$(SRCDIR)}.cc{$(OBJDIR)}.obj:
Packit a4aae4
	$(CC) $(CFLAGS) $(CPPFLAGS) /Fo$@ /Tp $<
Packit a4aae4
Packit a4aae4
# Rule for linking executables.  See Microsoft's "mt" command for
Packit a4aae4
# embedding external .manifests as necessary.
Packit a4aae4
{$(OBJDIR)}.obj{$(OBJDIR)}.exe:
Packit a4aae4
	$(LINK) $(LFLAGS) /out:$@ $< $(LIBS)
Packit a4aae4
Packit a4aae4
getdap:		$(OBJDIR)\getdap.exe
Packit a4aae4
Packit a4aae4
$(OBJDIR)\getdap.exe: $(OBJDIR)\getdap.obj
Packit a4aae4
Packit a4aae4
# Command-Line Client and select utils in console mode
Packit a4aae4
$(OBJDIR)\getdap.obj    : $(SRCDIR)\getdap.cc
Packit a4aae4
	$(CC) $(CFLAGS) $(CPPFLAGS) /Fo$@ /Tp $(SRCDIR)\getdap.cc
Packit a4aae4
Packit a4aae4
setup:
Packit a4aae4
	-mkdir $(OBJDIR)
Packit a4aae4
Packit a4aae4
clean:
Packit a4aae4
	-rmdir /Q /S $(OBJDIR)
Packit a4aae4
Packit a4aae4
Packit a4aae4
Packit a4aae4
Packit a4aae4