# All materials here are released under terms of the included
# COPYRIGHT.txt file.
# Copyright 2025 by James Carlson <carlsonj@workingcode.com>

# May need to set this for your environment.
# CXX=clang++
# CXX=g++

TARGETS=surprise1-fail surprise1-pass surprise2-public surprise2-private surprise2-protected

WARNINGS=-Wall -Werror -Wunused

all: $(TARGETS)

clean:
	rm -f $(TARGETS)

surprise2-%: align-surprise2.cpp
	$(CXX) -O2 -DKEYWORD=$* $(CXXFLAGS) $(WARNINGS) -o $@ $<

surprise1-fail: align-surprise1.cpp
	$(CXX) -O2 $(CXXFLAGS) $(WARNINGS) -o $@ $<

surprise1-pass: align-surprise1.cpp
	$(CXX) -O2 $(CXXFLAGS) -DFIX_BUG $(WARNINGS) -o $@ $<
