#-*-makefile-*- export CXX = g++ TOP = .. TWDIR = $(TOP)/src TWOBJ = $(TWDIR)/obj RNDDIR = $(TOP)/rnd RNDOBJ = $(RNDDIR)/obj RAIDOBJ = $(RNDDIR)/obj #MPIDIR = /vast/dmartin/download/mpich.ch_p4 MPIDIR = /local/packages/parallel/mpi CPPFLAGS = -I$(TWDIR) -I$(MPIDIR)/include -DMPI\ -DFINALSTATS -DCOMMITSTATS #-DLPDEBUG #-DOBJECTDEBUG #-DUSENONBLOCKINGMPICALLS\ # -DCOMMDEBUG CXXFLAGS = -g -Wall -O2 -pipe #CXXFLAGS = -g -O2 -pto LDFLAGS = -L$(MPIDIR)/lib/solaris/ch_p4 LOADLIBES = -lmpi -lsocket -lnsl -lm DEPENDINC = -I/local/packages/gnu/lib/g++-include SIMSRCS = main.cc\ RAIDProcess.cc\ RAIDFork.cc\ RAIDDisk.cc RAIDOBJS = $(RAIDOBJ)/main.o\ $(RAIDOBJ)/RAIDProcess.o\ $(RAIDOBJ)/RAIDFork.o\ $(RAIDOBJ)/RAIDDisk.o .PHONY: $(TWOBJ)/libTW.a $(RNDOBJ)/libRnd.a all: $(RAIDOBJ) RAID $(RNDOBJ)/libRnd.a $(RAIDOBJ): mkdir $(RAIDOBJ) #Just build a normal executable RAID: $(RAIDOBJS) $(TWOBJ)/libTW.a $(RNDOBJ)/libRnd.a $(CXX) -g $^\ $(LDFLAGS) $(LOADLIBES)\ -o $@ RAID.pure: $(RAIDOBJS) $(TWOBJ)/libTW.a $(RNDOBJ)/libRnd.a /home/common/pure/solaris/bin/purify -g++ $(CXX) $^\ $(LDFLAGS) $(LOADLIBES)\ -o $@ RAID.quantify: $(RAIDOBJS) $(TWOBJ)/libTW.a $(RNDOBJ)/libRnd.a /home/common/pure/solaris/quantify-2.0.1-solaris2/quantify \ $(CXX) $^\ $(LDFLAGS) $(LOADLIBES)\ -o $@ $(TWOBJ)/libTW.a: $(MAKE) -j6 -l5 -C $(TWDIR) $(RNDOBJ)/libRnd.a: $(MAKE) -C $(RNDDIR) # rule to make all the process .o files $(RAIDOBJ)/%.o : %.cc $(CXX) -c $(CPPFLAGS) $(CXXFLAGS)\ $< -o $@ depend: makedepend -p$(RAIDOBJ)/ -- $(CPPFLAGS) $(CXXFLAGS) -- $(DEPENDINC) $(SIMSRCS) $(MAKE) -C $(TWDIR) depend $(MAKE) -C $(RNDDIR) depend cleandep: $(TOP)/bin/cleandepend ./Makefile > ./Makefile.clean mv ./Makefile.clean ./Makefile $(MAKE) -C $(TWDIR) cleandep $(MAKE) -C $(RNDDIR) cleandep clean: rm -f *~ \#*\# rm -f $(RAIDOBJ)/*.o $(RAIDOBJ)/RAID $(MAKE) -C $(TWDIR) clean $(MAKE) -C $(RNDDIR) clean it: clean depend RAID # DO NOT DELETE THIS LINE -- make depend depends on it.