# Copyright ©2026 Soham Pardeshi. All rights reserved. # Permission is hereby granted to students registered for University of # Washington CSE 333 for use solely during Summer Quarter 2026 for # purposes of the course. No other use, copying, distribution, or # modification is permitted without prior written consent. Copyrights # for third-party components of this work must be honored. Instructors # interested in reusing these course materials should contact the author. # Makefile # CSE 333 Lecture 15 code: smart pointers # # Each .cc here is a standalone program with its own main(). # Run them under valgrind to see what leaks (and what doesn't): # valgrind --leak-check=full ./toyuse CXX = g++ CXXFLAGS = -Wall -g -std=c++17 PROGS = toyuse uniquemove sharedcycle weakcycle all: $(PROGS) toyuse: toyuse.o $(CXX) $(CXXFLAGS) -o $@ $^ uniquemove: uniquemove.o $(CXX) $(CXXFLAGS) -o $@ $^ sharedcycle: sharedcycle.o $(CXX) $(CXXFLAGS) -o $@ $^ weakcycle: weakcycle.o $(CXX) $(CXXFLAGS) -o $@ $^ toyuse.o: toyuse.cc ToyPtr.h $(CXX) $(CXXFLAGS) -c $< %.o: %.cc $(CXX) $(CXXFLAGS) -c $< clean: rm -f $(PROGS) *.o