# # Makefile for HP aCC # .SUFFIXES: .cc .cpp .o .exe .out srcdir = . VPATH = . STL_INCL=-I../../stlport HP_VERSION=$(shell uname -r) ifeq (${HP_VERSION},B.10.20) PTHREAD_LIB=-lcma else PTHREAD_LIB=-lpthread endif LIST = stl_test.cpp accum1.cpp accum2.cpp \ adjdiff0.cpp adjdiff1.cpp adjdiff2.cpp \ adjfind0.cpp adjfind1.cpp adjfind2.cpp \ advance.cpp \ alg1.cpp alg2.cpp alg3.cpp alg4.cpp alg5.cpp \ bcompos1.cpp bcompos2.cpp \ bind1st1.cpp bind1st2.cpp \ bind2nd1.cpp bind2nd2.cpp \ binsert1.cpp binsert2.cpp \ binsrch1.cpp binsrch2.cpp \ bnegate1.cpp bnegate2.cpp bvec1.cpp \ copy1.cpp copy2.cpp copy3.cpp copy4.cpp \ copyb.cpp copyb0.cpp \ count0.cpp count1.cpp \ countif1.cpp \ deque1.cpp \ divides.cpp \ eqlrnge0.cpp eqlrnge1.cpp eqlrnge2.cpp \ equal0.cpp equal1.cpp equal2.cpp \ equalto.cpp \ fill1.cpp filln1.cpp \ find0.cpp find1.cpp \ findif0.cpp findif1.cpp \ finsert1.cpp finsert2.cpp \ foreach0.cpp foreach1.cpp \ func1.cpp func2.cpp func3.cpp \ gener1.cpp gener2.cpp \ genern1.cpp genern2.cpp \ greateq.cpp greater.cpp \ incl0.cpp incl1.cpp incl2.cpp \ inplmrg1.cpp inplmrg2.cpp \ inrprod0.cpp inrprod1.cpp inrprod2.cpp \ insert1.cpp insert2.cpp \ iota1.cpp \ istmit1.cpp \ iter1.cpp iter2.cpp iter3.cpp iter4.cpp \ iterswp0.cpp iterswp1.cpp \ less.cpp \ lesseq.cpp \ lexcmp1.cpp lexcmp2.cpp \ list1.cpp list2.cpp list3.cpp list4.cpp \ logicand.cpp logicnot.cpp \ logicor.cpp \ lwrbnd1.cpp lwrbnd2.cpp \ map1.cpp \ max1.cpp max2.cpp \ maxelem1.cpp maxelem2.cpp \ memfunptr.cpp \ merge0.cpp merge1.cpp merge2.cpp \ min1.cpp min2.cpp \ minelem1.cpp minelem2.cpp \ minus.cpp \ mismtch0.cpp mismtch1.cpp mismtch2.cpp \ mkheap0.cpp mkheap1.cpp \ mmap1.cpp mmap2.cpp \ modulus.cpp \ mset1.cpp mset3.cpp mset4.cpp mset5.cpp \ negate.cpp nequal.cpp \ nextprm0.cpp nextprm1.cpp nextprm2.cpp \ nthelem0.cpp nthelem1.cpp nthelem2.cpp \ ostmit.cpp \ pair0.cpp pair1.cpp pair2.cpp \ parsrt0.cpp parsrt1.cpp parsrt2.cpp \ parsrtc0.cpp parsrtc1.cpp parsrtc2.cpp \ partsrt0.cpp \ partsum0.cpp partsum1.cpp partsum2.cpp \ pheap1.cpp pheap2.cpp \ plus.cpp \ pqueue1.cpp \ prevprm0.cpp prevprm1.cpp prevprm2.cpp \ ptition0.cpp ptition1.cpp \ ptrbinf1.cpp ptrbinf2.cpp \ ptrunf1.cpp ptrunf2.cpp \ queue1.cpp \ rawiter.cpp \ remcopy1.cpp \ remcpif1.cpp \ remif1.cpp \ remove1.cpp \ repcpif1.cpp \ replace0.cpp replace1.cpp replcpy1.cpp replif1.cpp \ revbit1.cpp revbit2.cpp \ revcopy1.cpp reverse1.cpp reviter1.cpp reviter2.cpp \ rndshuf0.cpp rndshuf1.cpp rndshuf2.cpp \ rotate0.cpp rotate1.cpp rotcopy0.cpp rotcopy1.cpp \ search0.cpp search1.cpp search2.cpp \ set1.cpp set2.cpp \ setdiff0.cpp setdiff1.cpp setdiff2.cpp \ setintr0.cpp setintr1.cpp setintr2.cpp \ setsymd0.cpp setsymd1.cpp setsymd2.cpp \ setunon0.cpp setunon1.cpp setunon2.cpp \ sort1.cpp sort2.cpp \ stack1.cpp stack2.cpp \ stblptn0.cpp stblptn1.cpp \ stblsrt1.cpp stblsrt2.cpp \ swap1.cpp \ swprnge1.cpp \ times.cpp \ trnsfrm1.cpp trnsfrm2.cpp \ ucompos1.cpp ucompos2.cpp \ unegate1.cpp unegate2.cpp \ uniqcpy1.cpp uniqcpy2.cpp \ unique1.cpp unique2.cpp \ uprbnd1.cpp uprbnd2.cpp \ vec1.cpp vec2.cpp vec3.cpp vec4.cpp vec5.cpp vec6.cpp vec7.cpp vec8.cpp \ hmmap1.cpp hset2.cpp hmset1.cpp slist1.cpp hmap1.cpp string1.cpp bitset1.cpp # STAT_MODULE=stat.o OBJECTS = $(LIST:%.cpp=%.o) $(STAT_MODULE) EXECS = $(LIST:%.cpp=%.exe) TESTS = $(LIST:%.cpp=%.out) TEST_EXE = stl_test.exe TEST = stl_test.out CC = aCC CXX = $(CC) # DEBUG_FLAGS= -D_STLP_DEBUG # CXXFLAGS = -Wl,+vshlibunsats -AA ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} CXXFLAGS = -AA ${STL_INCL} -I. ${CXX_EXTRA_FLAGS} ${STL_VERSION_FLAGS} LIBS = +nostl -L../../lib -lstlport_aCC -lm ${PTHREAD_LIB} LIBSTDCXX = check: $(TEST) #Run test each time #If test crashes, still move .out away $(TEST) : $(OBJECTS) $(CXX) $(CXXFLAGS) ${REPO_FLAGS} $(OBJECTS) $(LIBS) -o $(TEST_EXE) -echo 'a string' | $(TEST_EXE) > $(TEST) mv -f $(TEST) $(TEST).bak .cc.o .cxx.o .C.o .cpp.o: ${CXX} ${CXXFLAGS} ${DEBUG_FLAGS} ${REPO_FLAGS} -c -o $*.o $< %.out: %.cpp $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -USINGLE -DMAIN=1 $< -c -o $*.o $(CXX) $(CXXFLAGS) $*.o $(STAT_MODULE) $(LIBS) -o $*.exe ./$*.exe > $@ -rm -f $*.exe istmit1.out: istmit1.cpp $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} ${REPO_FLAGS} $< $(STAT_MODULE) $(LIBSTDCXX) $(LIBS) -USINGLE -DMAIN -o istmit1 echo 'a string' | ./istmit1 > istmit1.out -rm -f ./istmit1 $(STAT_MODULE): stat.cpp $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} ${REPO_FLAGS} -c $< -o $@ %.s: %.cpp $(CXX) $(CXXFLAGS) +O3 +noeh -D_STLP_NO_EXCEPTIONS -S $< -o $*.s %.i: %.cpp $(CXX) $(CXXFLAGS) ${DEBUG_FLAGS} -E $< > $@ clean: -rm -rf *.exe *.out *.o *.rpo core *.out Templates.DB #Work around bug in compiler: disable inlining hmap1.o: hmap1.cpp aCC +d -g0 -Wl,+vshlibunsats -AA -I../../stlport -I. hmap1.cpp -c -o hmap1.o