#!/bin/sh ############################################################################ # # Makefile to compile and link a C++ application to # Cantera. # ############################################################################# # addition to suffixes .SUFFIXES : .d # the name of the executable program to be created PROG_NAME = negATest # the object files to be linked together. List those generated from Fortran # and from C/C++ separately OBJS = negATest.o # additional flags to be passed to the linker. If your program # requires other external libraries, put them here LINK_OPTIONS = @EXTRA_LINK@ ############################################################################# # Check to see whether we are in the msvc++ environment os_is_win = @OS_IS_WIN@ # Fortran libraries ifeq (@build_with_f2c@, 0) FORT_LIBS = @FLIBS@ else FORT_LIBS = endif # the C++ compiler CXX = @CXX@ # C++ compile flags CXX_FLAGS = @CXXFLAGS@ # Ending C++ linking libraries LCXX_END_LIBS = @LCXX_END_LIBS@ # the directory where the Cantera libraries are located CANTERA_LIBDIR=@buildlib@ # required Cantera libraries CANTERA_LIBS = @LOCAL_LIBS@ -lctcxx # the directory where Cantera include files may be found. CANTERA_INCDIR=@ctroot@/build/include/cantera # flags passed to the C++ compiler/linker for the linking step LCXX_FLAGS = -L$(CANTERA_LIBDIR) @LOCAL_LIB_DIRS@ @CXXFLAGS@ # How to compile C++ source files to object files .@CXX_EXT@.@OBJ_EXT@: Interface.h $(CXX) -c $< -I$(CANTERA_INCDIR) @CXX_INCLUDES@ $(CXX_FLAGS) # How to compile the dependency file .cpp.d: @CXX_DEPENDS@ -I$(CANTERA_INCDIR) $(CXX_FLAGS) $*.cpp > $*.d # List of dependency files to be created DEPENDS=$(OBJS:.o=.d) # Program Name PROGRAM = $(PROG_NAME)$(EXE_EXT) # all rule makes a single program all: $(PROGRAM) # Rule to make the program $(PROGRAM): $(OBJS) $(CANTERA_LIBDIR)/libctbase.a $(CXX) -o $(PROGRAM) $(OBJS) $(LCXX_FLAGS) $(LINK_OPTIONS) \ $(CANTERA_LIBS) @LIBS@ $(FORT_LIBS) \ $(LCXX_END_LIBS) # Add an additional target for stability: $(OBJS): $(CANTERA_LIBDIR)/libctbase.a $(CANTERA_LIBDIR)/libthermo.a # depends target depends: $(RM) *.d .depends @MAKE@ .depends .depends: $(DEPENDS) cat *.d > .depends # Do the test -> For the windows vc++ environment, we have to skip checking on # whether the program is uptodate, because we don't utilize make # in that environment to build programs. test: ifeq ($(os_is_win), 1) else @MAKE@ $(PROGRAM) endif ./runtest # clean target -> clean up clean: $(RM) $(OBJS) $(PROGRAM) $(DEPENDS) .depends ../../bin/rm_cvsignore (if test -d SunWS_cache ; then \ $(RM) -rf SunWS_cache ; \ fi ) ifeq ($(wildcard .depends), .depends) include .depends endif