LIBS=libconfuse nlohmann_json override CXXFLAGS += -Wall -fPIC -std=c++20 `pkg-config $(LIBS) --cflags` override LDFLAGS += `pkg-config $(LIBS) --libs` CC=$(CXX) SOURCES=src/armor.cc src/cmd/cmd.cc src/cmd/cmd_fsops.cc src/cmd/cmd_manipulate.cc src/cmd/cmd_query.cc src/cmd/cmd_usage.cc src/creature.cc src/dice.cc src/dmtool.cc src/entry.cc src/features/feature.cc src/item.cc src/rules.cc src/settings.cc src/spell.cc src/spellcasting.cc src/utils.cc src/weapon.cc OBJECTS=$(SOURCES:.cc=.o) LIBRARY= EXECUTABLE=dmtool PREFIX := /usr all: $(SOURCES) $(EXECUTABLE) parsed: parser/scrapeToJson.py parser/utils.py parser/verified.txt python parser/scrapeToJson.py touch parsed/ install: $(EXECUTABLE) install -d $(DESTDIR)$(PREFIX)/share/dmtool/ #cp -r parsed/* $(DESTDIR)$(PREFIX)/share/dmtool/ install -d $(DESTDIR)$(PREFIX)/bin/ install -m 755 $(EXECUTABLE) $(DESTDIR)$(PREFIX)/bin/ install -m 644 files/dmtool.bash $(DESTDIR)`pkg-config --variable=completionsdir bash-completion`/dmtool install -m 644 files/dmtool.conf $(DESTDIR)/etc/dmtool.conf $(EXECUTABLE): $(OBJECTS) $(CXX) $(OBJECTS) -o $@ $(LDFLAGS) $(LDLIBS) src/armor.o: src/armor.cc src/armor.h src/item.h src/entry.h \ src/defines.h src/creature.h src/rules.h src/utils.h \ src/features/feature.h src/cmd/cmd.o: src/cmd/cmd.cc src/cmd/cmd.h src/cmd/../rules.h \ src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h \ src/cmd/../settings.h src/cmd/cmd_fsops.o: src/cmd/cmd_fsops.cc src/cmd/cmd.h \ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \ src/cmd/../defines.h src/cmd/cmd_manipulate.o: src/cmd/cmd_manipulate.cc src/cmd/cmd.h \ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \ src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \ src/cmd/../item.h src/cmd/../spellcasting.h src/cmd/../spell.h \ src/cmd/../settings.h src/cmd/../weapon.h src/cmd/../dice.h \ src/cmd/../armor.h src/cmd/cmd_query.o: src/cmd/cmd_query.cc src/cmd/cmd.h \ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \ src/cmd/../defines.h src/cmd/../creature.h src/cmd/../features/feature.h \ src/cmd/../item.h src/cmd/../dice.h src/cmd/../weapon.h src/cmd/cmd_usage.o: src/cmd/cmd_usage.cc src/cmd/cmd.h \ src/cmd/../rules.h src/cmd/../utils.h src/cmd/../entry.h \ src/cmd/../defines.h src/creature.o: src/creature.cc src/creature.h src/rules.h src/utils.h \ src/entry.h src/defines.h src/features/feature.h src/item.h src/dice.h \ src/weapon.h src/armor.h src/attack.h src/spellcasting.h src/spell.h src/dice.o: src/dice.cc src/dice.h src/dmtool.o: src/dmtool.cc src/cmd/cmd.h src/cmd/../rules.h \ src/cmd/../utils.h src/cmd/../entry.h src/cmd/../defines.h src/entry.o: src/entry.cc src/entry.h src/defines.h src/utils.h \ src/features/feature.h src/item.h src/spell.h src/creature.h src/rules.h src/features/feature.o: src/features/feature.cc src/features/feature.h \ src/features/../entry.h src/features/../defines.h \ src/features/../spellcasting.h src/features/../spell.h \ src/features/../rules.h src/features/../utils.h src/features/../attack.h \ src/features/../weapon.h src/features/../item.h \ src/features/../creature.h src/item.o: src/item.cc src/item.h src/entry.h src/defines.h src/weapon.h \ src/rules.h src/utils.h src/armor.h src/rules.o: src/rules.cc src/rules.h src/utils.h src/entry.h \ src/defines.h src/settings.o: src/settings.cc src/settings.h src/spell.o: src/spell.cc src/spell.h src/entry.h src/defines.h \ src/utils.h src/spellcasting.o: src/spellcasting.cc src/spellcasting.h \ src/features/feature.h src/features/../entry.h src/features/../defines.h \ src/spell.h src/rules.h src/utils.h src/defines.h src/creature.h \ src/item.h src/utils.o: src/utils.cc src/utils.h src/entry.h src/defines.h \ src/settings.h src/weapon.o: src/weapon.cc src/weapon.h src/item.h src/entry.h \ src/defines.h src/rules.h src/utils.h src/creature.h \ src/features/feature.h src/dice.h clean: $(RM) $(LIBRARY) $(EXECUTABLE) $(TEST) $(OBJECTS)