CFLAGS=-pthread -Wall -Werror -ggdb -O2 -Wmissing-prototypes -fsanitize=undefined LDFLAGS=-fsanitize=undefined LDLIBS=-lm CXXFLAGS=-O2 OBJECTS=list.o process.o scheduler.o utils.o semaphore.o HEADERS=$(patsubst %.o,%.h,$(OBJECTS)) default: all $(OBJECTS): $(HEADERS) $(OBJECTS_CPU_SIM): $(HEADERS) all: sieve carwash powers locksimulator locksimulator: $(OBJECTS) locksimulator.o perfetto.o perfetto-bridge.o $(CXX) $(LDFLAGS) $^ -o $@ $(LDLIBS) sieve: $(OBJECTS) sieve.o $(CC) $(CFLAGS) $(OBJECTS) sieve.o -o $@ $(LDLIBS) powers: $(OBJECTS) powers.o $(CC) $(CFLAGS) $(OBJECTS) powers.o -o $@ $(LDLIBS) carwash: $(OBJECTS) carwash.o $(CC) $(CFLAGS) $(OBJECTS) carwash.o -o $@ $(LDLIBS) clean: rm -f $(OBJECTS) core.*