# Example Makefile for ArcEngine C++ Programming with wxWidgets on Windows
#
# The PROGRAM macro defines the name of the program or project. It
# allows the program name to be changed by editing in only one
# location
#
PROGRAM = Wx_sample
#
# The WXDIR macro defines the location of the wxWidgets installation.
#
WXDIR = C:\Wx
#
# The INCLUDEDIRS macro contains a list of include directories
# to pass to the compiler so it can find necessary header files.
#
# The LIBDIRS macro contains a list of library directories
# to pass to the linker so it can find necessary libraries.
#
# The LIBS macro contains a list of libraries that the the
# executable must be linked against.
#
INCLUDEDIRS = \
/I "C:\Program Files\ArcGIS\DeveloperKit10.0\include\CPPAPI" \
/I "C:\Program Files\ArcGIS\Engine10.0\com" \
/I $(WXDIR)\include \
/I $(WXDIR)\include\msvc
LIBDIRS = \
/LIBPATH:"C:\Program Files\ArcGIS\DeveloperKit10.0\lib" \
/LIBPATH:$(WXDIR)\lib
LIBS = \
wxctl.lib aoctl.lib \
wxbase28u.lib wxmsw28u_core.lib
#
# The CPPSOURCES macro contains a list of source files.
#
# The CPPOBJECTS macro converts the CPPSOURCES macro into a list
# of object files.
#
# The CPPFLAGS macro contains a list of options to be passed to
# the compiler. Adding "-g" to this line will cause the compiler
# to add debugging information to the executable.
#
# The CPP macro defines the C++ compiler.
#
# The LINKFLAGS macro contains all of the library and library
# directory information to be passed to the linker.
#
CPPSOURCES = wx_sample.cpp
CPPOBJECTS = $(CPPSOURCES:.cpp=.obj)
CPPOPT = /EHsc /D_CRT_SECURE_NO_DEPRECATE
CPPFLAGS = -DESRI_UNIX $(INCLUDEDIRS) $(CPPOPT)
CPP = cl.exe
LINKFLAGS = $(LIBDIRS) $(LIBS)
#
# Default target: the first target is the default target.
# Just type "nmake -f Makefile.WindowsWx" to build it.
#
all: $(PROGRAM)
#
# Link target: automatically builds its object dependencies before
# executing its link command.
#
$(PROGRAM): $(CPPOBJECTS)
link.exe /out:$(PROGRAM) $(CPPOBJECTS) $(LINKFLAGS)
#
# Object targets: rules that define objects, their dependencies, and
# a list of commands for compilation.
#
wx_sample.obj: wx_sample.cpp wx_sample.h
$(CPP) $(CPPFLAGS) /c wx_sample.cpp
#
# Clean target: "nmake -f Makefile.WindowsWx clean" to remove unwanted objects and executables.
#
clean:
del -f $(CPPOBJECTS) $(PROGRAM)
#
# Run target: "nmake -f Makefile.WindowsWx run" to execute the application
#
run:
$(PROGRAM)
#
# The PROGRAM macro defines the name of the program or project. It
# allows the program name to be changed by editing in only one
# location
#
PROGRAM = Wx_sample
#
# The WXDIR macro defines the location of the wxWidgets installation.
#
WXDIR = C:\Wx
#
# The INCLUDEDIRS macro contains a list of include directories
# to pass to the compiler so it can find necessary header files.
#
# The LIBDIRS macro contains a list of library directories
# to pass to the linker so it can find necessary libraries.
#
# The LIBS macro contains a list of libraries that the the
# executable must be linked against.
#
INCLUDEDIRS = \
/I "C:\Program Files\ArcGIS\DeveloperKit10.0\include\CPPAPI" \
/I "C:\Program Files\ArcGIS\Engine10.0\com" \
/I $(WXDIR)\include \
/I $(WXDIR)\include\msvc
LIBDIRS = \
/LIBPATH:"C:\Program Files\ArcGIS\DeveloperKit10.0\lib" \
/LIBPATH:$(WXDIR)\lib
LIBS = \
wxctl.lib aoctl.lib \
wxbase28u.lib wxmsw28u_core.lib
#
# The CPPSOURCES macro contains a list of source files.
#
# The CPPOBJECTS macro converts the CPPSOURCES macro into a list
# of object files.
#
# The CPPFLAGS macro contains a list of options to be passed to
# the compiler. Adding "-g" to this line will cause the compiler
# to add debugging information to the executable.
#
# The CPP macro defines the C++ compiler.
#
# The LINKFLAGS macro contains all of the library and library
# directory information to be passed to the linker.
#
CPPSOURCES = wx_sample.cpp
CPPOBJECTS = $(CPPSOURCES:.cpp=.obj)
CPPOPT = /EHsc /D_CRT_SECURE_NO_DEPRECATE
CPPFLAGS = -DESRI_UNIX $(INCLUDEDIRS) $(CPPOPT)
CPP = cl.exe
LINKFLAGS = $(LIBDIRS) $(LIBS)
#
# Default target: the first target is the default target.
# Just type "nmake -f Makefile.WindowsWx" to build it.
#
all: $(PROGRAM)
#
# Link target: automatically builds its object dependencies before
# executing its link command.
#
$(PROGRAM): $(CPPOBJECTS)
link.exe /out:$(PROGRAM) $(CPPOBJECTS) $(LINKFLAGS)
#
# Object targets: rules that define objects, their dependencies, and
# a list of commands for compilation.
#
wx_sample.obj: wx_sample.cpp wx_sample.h
$(CPP) $(CPPFLAGS) /c wx_sample.cpp
#
# Clean target: "nmake -f Makefile.WindowsWx clean" to remove unwanted objects and executables.
#
clean:
del -f $(CPPOBJECTS) $(PROGRAM)
#
# Run target: "nmake -f Makefile.WindowsWx run" to execute the application
#
run:
$(PROGRAM)