#========================================================================== # # makefile for reference manual example programs # # $Id: makefile.in,v 1.37 1996/09/26 06:36:38 smithey Exp $ # #========================================================================== # (c) Copyright 1994-1996 Rogue Wave Software, Inc. # ALL RIGHTS RESERVED # # The software and information contained herein are proprietary to, and # comprise valuable trade secrets of, Rogue Wave Software, Inc., which # intends to preserve as trade secrets such software and information. # This software is furnished pursuant to a written license agreement and # may be used, copied, transmitted, and stored only in accordance with # the terms of such license and with the inclusion of the above copyright # notice. This software and information or any other copies thereof may # not be provided or otherwise made available to any other person. # # Notwithstanding any other lease or license that may pertain to, or # accompany the delivery of, this computer software and information, the # rights of the Government regarding its use, reproduction and disclosure # are as set forth in Section 52.227-19 of the FARS Computer # Software-Restricted Rights clause. # # Use, duplication, or disclosure by the Government is subject to # restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in # Technical Data and Computer Software clause at DFARS 252.227-7013. # Contractor/Manufacturer is Rogue Wave Software, Inc., # P.O. Box 2328, Corvallis, Oregon 97339. # # This computer software and information is distributed with "restricted # rights." Use, duplication or disclosure is subject to restrictions as # set forth in NASA FAR SUP 18-52.227-79 (April 1985) "Commercial # Computer Software-Restricted Rights (April 1985)." If the Clause at # 18-52.227-74 "Rights in Data General" is specified in the contract, # then the "Alternate III" clause applies. # #========================================================================== # # This file has been processed by the shell script # "config_make" to create a CC makefile # #========================================================================== # Library suffix for use when building with static version of Stdlib. LIB_SUFFIX= .a # Uncomment the following when building with a shared version # of StdLib under IRIX or SINIX #LIB_SUFFIX= .so.2 # Uncomment the following to build a "debug" version #DBG= -D_RWDEBUG=1 -g #DBGNAME= g # Uncomment the following to build a thread-safe version #MTSAFE= -D_RWSTD_MULTI_THREAD -D_REENTRANT #MTNAME= _mt # The following should be set to whatever command # is necessary to invoke your compiler: CCC= CC CPP= $(CCC) # Options to be passed to your C++ compiler: CPPOPTIONS= -O # NAME can be used to give this particular library a special # name. This is useful when working with more than one # compiler. Specify on command line or here. NAME= # MAKE can be used to specify a different build utility # then the default "make" MAKE= make # SPECIAL used as compiler option SPECIAL= # DBCLEAN is the command used to clean the database CCADMIN= CCadmin DBCLEAN= $(CCADMIN) -clean ################################################################## # # From here on, it's pretty much boilerplate. # ################################################################## SHELL= /bin/sh MOVE= mv COPY= ln -s RM= rm -f # Where the library should have been built: _RWLIB= ../../lib # Rogue Wave header file include path: _RWINCL= ../../include # include file directory: _RWDIR= ../../include # Base name of the library: LIBNAME= lib$(NAME)std$(DBGNAME)$(FPNAME)$(MTNAME) # Root names (excluding suffix) of the library: LIBROOT= $(_RWLIB)/$(LIBNAME) # Full name (including suffix) of the library: LIBFULL= $(_RWLIB)/$(LIBNAME)$(LIB_SUFFIX) # Where can we find the include files for this library LIBRARYINCDIR= -I. # Full name of library of test-related code AUXLIB = # Compile flags for the library: CPPFLAGS= -I$(_RWINCL) $(LIBRARYINCDIR) $(CPPOPTIONS) $(FPFLAG) $(DBG) $(SHARED_CPPOPTS) $(MTSAFE) # Extension used by this compiler for source files EXT= cpp RM= rm -f COPY= ln -s # Where can we find the standard "non-library" header files INCLUDEDIR= # Turn off a problem where the standard library headers # do not have a ".h" extension .SUFFIXES: .cpp .C .cc .cxx .o # Subdir to put test results into SUBDIR=testout LINKFLAGS= -lm -lCstd RWRM = rm -rf ################################## # NOTHING BELOW THIS SHOULD CHANGE ################################## ########################### Module code ############################## RWEXAMPLES= $(RWPROGRAMS) RWPROGRAMS= accum adj_diff advance auto_ptr b_search binders bitset complex \ copyex count deque distance eqlrange equal except fill find find_end \ find_f_o for_each funct_ob generate heap_ops includes inr_prod \ ins_itr io_iter lex_comp limits list map max max_elem merge mismatch \ multimap multiset mutex negator nthelem p_queue partsort partsum \ permute pnt2fnct prtition queue remove replace rev_itr reverse \ rndshufl rotate search setex set_diff set_intr set_s_di set_unin sort \ stack string swap trnsform ul_bound unique vector codecvt collate \ ctype filebuf fstream ifstream hasfacet isalnum istream1 \ istreambuf_iterator istringstream istrstream locale messages memfunc \ memfunref moneyget moneypunct moneyput numget numpunct numput \ ostream1 ostream2 ostreambuf_iterator stringbuf stringstream \ strstream strstreambuf timeget timeput toupper usefacet gslice \ gslice_array indirect_array mask_array slice slice_array valarray ############################# Targets ################################ all: $(RWEXAMPLES) run: runtests runtests: @for test in $(RWEXAMPLES) ; do \ echo "running example $$test -- stdout + stderr copied to $$test.log" ; \ if [ -f core ] ; then \ rm -f core; \ fi; \ if [ -f $$test ] ; then \ ./$$test 2>&1 | tee $$test.log; \ else \ echo "cannot locate $$test for execution" ; \ echo "Assertion - executable does not exist." > $$test.log; \ fi ; \ if [ -f core ] ; then \ echo "Assertion - core dump. " >> $$test.log; \ rm -f core; \ fi ; \ done cleantst: $(RWRM) *.o *.ii *.ti core accum: accum.o adj_diff: adj_diff.o advance: advance.o auto_ptr: auto_ptr.o b_search: b_search.o binders: binders.o bitset: bitset.o complex: complex.o copyex: copyex.o count: count.o deque: deque.o distance: distance.o eqlrange: eqlrange.o equal: equal.o except: except.o fill: fill.o find: find.o find_end: find_end.o find_f_o: find_f_o.o for_each: for_each.o funct_ob: funct_ob.o generate: generate.o heap_ops: heap_ops.o includes: includes.o inr_prod: inr_prod.o ins_itr: ins_itr.o io_iter: io_iter.o lex_comp: lex_comp.o limits: limits.o list: list.o map: map.o max: max.o max_elem: max_elem.o merge: merge.o mismatch: mismatch.o multimap: multimap.o multiset: multiset.o mutex: mutex.o negator: negator.o nthelem: nthelem.o p_queue: p_queue.o partsort: partsort.o partsum: partsum.o permute: permute.o pnt2fnct: pnt2fnct.o prtition: prtition.o queue: queue.o remove: remove.o replace: replace.o rev_itr: rev_itr.o reverse: reverse.o rndshufl: rndshufl.o rotate: rotate.o search: search.o setex: setex.o set_diff: set_diff.o set_intr: set_intr.o set_s_di: set_s_di.o set_unin: set_unin.o sort: sort.o stack: stack.o string: string.o swap: swap.o trnsform: trnsform.o ul_bound: ul_bound.o unique: unique.o vector: vector.o codecvt: codecvt.o collate: collate.o ctype: ctype.o filebuf: filebuf.o fstream: fstream.o ifstream: ifstream.o hasfacet: hasfacet.o isalnum: isalnum.o istream1: istream1.o istreambuf_iterator: istreambuf_iterator.o istringstream: istringstream.o istrstream: istrstream.o locale: locale.o messages: messages.o memfunc: memfunc.o memfunref: memfunref.o moneyget: moneyget.o moneypunct: moneypunct.o moneyput: moneyput.o numget: numget.o numpunct: numpunct.o numput: numput.o ostream1: ostream1.o ostream2: ostream2.o ostreambuf_iterator: ostreambuf_iterator.o stringbuf: stringbuf.o stringstream: stringstream.o strstream: strstream.o strstreambuf: strstreambuf.o timeget: timeget.o timeput: timeput.o toupper: toupper.o usefacet: usefacet.o gslice: gslice.o gslice_array: gslice_array.o indirect_array: indirect_array.o mask_array: mask_array.o slice: slice.o slice_array: slice_array.o valarray: valarray.o clobber clean: $(RWRM) Templates.DB SunWS_cache $(RWRM) *.o core $(RWEXAMPLES) $(SUBDIR): mkdir $(SUBDIR) ########################### Conversions ############################## .cpp.o: $(DBCLEAN); $(CPP) $(CPPFLAGS) $(SPECIAL) -c $< $(RWEXAMPLES): $(CPP) $(SPECIAL) $(CPPFLAGS) -o $@ $@.o $(LINKFLAGS)