aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorYour Name <you@example.com>2023-05-30 18:33:10 -0400
committerYour Name <you@example.com>2023-05-30 18:33:10 -0400
commite1ef3e987a1ef87fad2e44d2023e4aa50fb28c35 (patch)
treeb48a6087720d6bf69a80f0c284320320043fcdee /Makefile
parentd428ae1c5b3b0ec88c1b55c56317c3750502d5f4 (diff)
downloaddmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.tar.gz
dmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.tar.bz2
dmtool-e1ef3e987a1ef87fad2e44d2023e4aa50fb28c35.zip
Changed makefiles, added parsed files
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile99
1 files changed, 27 insertions, 72 deletions
diff --git a/Makefile b/Makefile
index f2f5416..252a8df 100644
--- a/Makefile
+++ b/Makefile
@@ -1,83 +1,38 @@
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
+export version = 1.0.0
+export soname_version = $(word 1, $(subst ., , $(version)))
+override CXXFLAGS += -MMD -Wall -std=c++20 `pkg-config $(LIBS) --cflags`
+override LDFLAGS += `pkg-config $(LIBS) --libs`
+SOURCES = $(wildcard src/*.cc) $(wildcard src/*/*.cc)
+OBJECTS = $(SOURCES:.cc=.o)
+DEPS = $(OBJECTS:.o=.d)
+EXECUTABLE = dmtool
+prefix ?= /usr
+exec_prefix ?= $(prefix)
+bindir ?= $(exec_prefix)/bin
+completions ?= `pkg-config --variable=completionsdir bash-completion`
-all: $(SOURCES) $(EXECUTABLE)
+$(EXECUTABLE): $(OBJECTS)
+ $(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
+
+-include $(DEPS)
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 -d $(DESTDIR)$(prefix)/share/dmtool/
+ cp -r parsed/* $(DESTDIR)$(prefix)/share/dmtool/
+ install -d $(DESTDIR)$(bindir)
+ install -m 755 $(EXECUTABLE) $(DESTDIR)$(bindir)
+ install -d $(DESTDIR)$(completions)
+ install -m 644 files/dmtool.bash $(DESTDIR)$(completions)/$(EXECUTABLE)
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
-
+.PHONY: clean
clean:
- $(RM) $(LIBRARY) $(EXECUTABLE) $(TEST) $(OBJECTS)
+ $(RM) $(OBJECTS) $(DEPS) $(EXECUTABLE)
+
+test:
+ $(foreach var,$(.VARIABLES),$(info $(var) = $($(var))))