# Solvedle wordle dictionary solver Copyright © 2022 Nicholas Hope # # Available at https://git.paco.to/nick/wordle-algorithm # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, either version 3 of the License, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program. If not, see . printing ?= 0 timing ?= 0 assume ?= 0 find_one ?= 0 fancy ?= 0 free ?= 0 CC := clang ifdef asm override asm = -S else override asm = endif MACROS := -DPRINT_INTERMEDIATES=$(printing) -DTIME_SECTIONS=$(timing) -DASSUME_SAFE=$(assume) -DFIND_ONE=$(find_one) -DFANCYPRINT=$(fancy) -DFREE=$(free) $(asm) FLAGS := -Wall -Werror -Ofast OUTPUT := -o bw bw: solvedle.o boilerplate.o $(CC) $(OUTPUT) $^ solvedle.o: solvedle.c $(CC) $(FLAGS) $(MACROS) -c $^ boilerplate.o: boilerplate.c $(CC) $(FLAGS) $(MACROS) -c $^ .PHONY: test test: bw abcde.txt ./bw abcde.txt .PHONY: run run: bw wordleWords.txt ./bw wordleWords.txt .PHONY: fast fast: solvedle.c boilerplate.c $(CC) $(FLAGS) -DPRINT_INTERMEDIATES=0 -DTIME_SECTIONS=0 -DASSUME_SAFE=1 -DFIND_ONE=1 -DFANCYPRINT=0 -DFREE=0 -c $^ make bw .PHONY: clean clean: rm *.o *.s bw