CFLAGS = -std=gnu99 target=not_power_of_2 zero null all:$(target) not_power_of_2: build_bug_on_not_power_of_2.o $(CC) $^ -o $@ $(LDFLAGS) @echo "BUILD_BUG_ON_NOT_POWER_OF2..." zero : build_bug_on_zero.o $(CC) $^ -o $@ $(LDFLAGS) @echo "BUILD_BUG_ON_ZERO..." null : build_bug_on_null.o $(CC) $^ -o $@ $(LDFLAGS) -lpthread @echo "BUILD_BUG_ON_NULL..." invalid : build_bug_on_invalid.o $(CC) $^ -o $@ $(LDFLAGS) -lpthread @echo "BUILD_BUG_ON_INVALID..." %.o : %.c $(CC) -c $^ -o $@ $(CFLAGS) $(DEFINES) %.o : %.cpp $(CXX) -c $^ -o $@ $(CFLAGS) $(DEFINES) clean : rm -rf *.o rm -rf $(target)