aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorYour Name <you@example.com>2022-08-09 16:57:53 -0400
committerYour Name <you@example.com>2022-08-09 16:57:53 -0400
commit5937d893da5656be3f486c863ae54e08bbe66579 (patch)
tree15aedaf0753fcf73fe85e90e88a7d0af33036eca /Makefile
parent947d83c59ea86615e3a81a2ec122d843b5eceee9 (diff)
downloaddmtool-5937d893da5656be3f486c863ae54e08bbe66579.tar.gz
dmtool-5937d893da5656be3f486c863ae54e08bbe66579.tar.bz2
dmtool-5937d893da5656be3f486c863ae54e08bbe66579.zip
Added generic items, worked on features
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile127
1 files changed, 45 insertions, 82 deletions
diff --git a/Makefile b/Makefile
index 401c43b..f2f5416 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,12 @@
-CC=g++
LIBS=libconfuse nlohmann_json
-CFLAGS=-c -Wall -fPIC -std=c++20
-LDFLAGS=
-SOURCES=src/dmtool.cc src/item.cc src/creature.cc src/spellcasting.cc src/weapon.cc src/dice.cc src/settings.cc src/spell.cc src/features/feature.cc src/utils.cc src/rules.cc src/armor.cc src/cmd/cmd.cc src/cmd/cmd_usage.cc src/cmd/cmd_query.cc src/cmd/cmd_fsops.cc src/cmd/cmd_manipulate.cc src/entry.cc
+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
-ifeq ($(PREFIX),)
- PREFIX := /usr
-endif
+PREFIX := /usr
all: $(SOURCES) $(EXECUTABLE)
@@ -16,105 +14,70 @@ parsed: parser/scrapeToJson.py parser/utils.py parser/verified.txt
python parser/scrapeToJson.py
touch parsed/
-install: $(EXECUTABLE) parsed
+install: $(EXECUTABLE)
install -d $(DESTDIR)$(PREFIX)/share/dmtool/
- cp -r parsed/* $(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)/usr/share/bash-completion/completions/dmtool
+ 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)
- $(CC) $(OBJECTS) -o $@ $(LDFLAGS) `pkg-config $(LIBS) --libs`
+ $(CXX) $(OBJECTS) -o $@ $(LDFLAGS) $(LDLIBS)
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/dice.o: src/dice.cc src/dice.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/settings.o: src/settings.cc src/settings.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/spell.o: src/spell.cc src/spell.h src/entry.h src/defines.h \
- src/utils.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/utils.o: src/utils.cc src/utils.h src/entry.h src/defines.h \
- src/settings.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-src/rules.o: src/rules.cc src/rules.h src/utils.h src/entry.h \
- src/defines.h
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
-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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
-
+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
- $(CC) $(CFLAGS) $< -o $@ `pkg-config $(LIBS) --cflags`
+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 -f $(LIBRARY) $(EXECUTABLE)
- find . | grep .o$ | xargs rm -f
+ $(RM) $(LIBRARY) $(EXECUTABLE) $(TEST) $(OBJECTS)