2022-09-03 15:12:32 -04:00
|
|
|
# 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 <https://www.gnu.org/licenses/>.
|
2022-09-03 13:58:20 -04:00
|
|
|
|
2022-09-03 15:23:51 -04:00
|
|
|
printing ?= 0
|
|
|
|
timing ?= 0
|
2022-09-23 16:11:18 -04:00
|
|
|
assume ?= 0
|
2022-09-03 15:23:51 -04:00
|
|
|
find_one ?= 0
|
2022-09-23 16:11:18 -04:00
|
|
|
fancy ?= 0
|
|
|
|
free ?= 0
|
2022-09-03 13:58:20 -04:00
|
|
|
|
2022-09-23 17:20:01 -04:00
|
|
|
CC := clang
|
2022-09-03 15:23:51 -04:00
|
|
|
|
2022-10-06 18:11:26 -04:00
|
|
|
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)
|
2022-09-03 15:23:51 -04:00
|
|
|
|
2022-10-06 18:11:26 -04:00
|
|
|
FLAGS := -Wall -Werror -Ofast
|
2022-09-03 15:23:51 -04:00
|
|
|
OUTPUT := -o bw
|
|
|
|
|
2022-09-10 14:02:41 -04:00
|
|
|
bw: solvedle.o boilerplate.o
|
|
|
|
$(CC) $(OUTPUT) $^
|
2022-09-03 15:23:51 -04:00
|
|
|
|
|
|
|
solvedle.o: solvedle.c
|
2022-09-10 14:02:41 -04:00
|
|
|
$(CC) $(FLAGS) $(MACROS) -c $^
|
|
|
|
|
|
|
|
boilerplate.o: boilerplate.c
|
|
|
|
$(CC) $(FLAGS) $(MACROS) -c $^
|
2022-09-03 13:58:20 -04:00
|
|
|
|
|
|
|
.PHONY: test
|
2022-09-03 15:23:51 -04:00
|
|
|
test: bw abcde.txt
|
|
|
|
./bw abcde.txt
|
|
|
|
|
|
|
|
.PHONY: run
|
|
|
|
run: bw wordleWords.txt
|
2022-09-10 14:02:41 -04:00
|
|
|
./bw wordleWords.txt
|
|
|
|
|
|
|
|
.PHONY: fast
|
|
|
|
fast: solvedle.c boilerplate.c
|
2022-10-06 18:11:26 -04:00
|
|
|
$(CC) $(FLAGS) -DPRINT_INTERMEDIATES=0 -DTIME_SECTIONS=0 -DASSUME_SAFE=1 -DFIND_ONE=1 -DFANCYPRINT=0 -DFREE=0 -c $^
|
2022-09-10 14:02:41 -04:00
|
|
|
make bw
|
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
2022-10-06 18:11:26 -04:00
|
|
|
rm *.o *.s bw
|