You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
# 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/>. |
|
|
|
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
|