@@ 39,30 39,30 @@ MANPAGES := $(subst man/,,$(wildcard man/*.8))
all : build manpages htmlpages build-test test
test: build-test
- $(OUTDIR)klapki-test$(EXE)
+ $(OUTDIR)klapki-test
clean :
rm -rf $(OUTDIR)
-build : $(OUTDIR)klapki$(EXE)
-build-test : $(OUTDIR)klapki-test$(EXE)
+build : $(OUTDIR)klapki
+build-test : $(OUTDIR)klapki-test
manpages : $(patsubst %,$(OUTDIR)man/%,$(MANPAGES))
htmlpages : $(patsubst %,$(OUTDIR)man/%.html,$(MANPAGES)) $(OUTDIR)man/style.css
-$(OUTDIR)klapki$(EXE) : $(subst $(SRCDIR),$(OBJDIR),$(subst .cpp,$(OBJ),$(SOURCES)))
- $(CXX) $(CXXAR) -o$@ $^ $(PIC) $(LDAR)
+$(OUTDIR)klapki : $(subst $(SRCDIR),$(OBJDIR),$(subst .cpp,$(OBJ),$(SOURCES)))
+ $(CXX) $(CXXAR) -o$@ $^ $(LDAR)
$(STRIP) $(STRIPAR) $@
-$(OUTDIR)klapki-test$(EXE) : $(subst $(TSTDIR),$(BLDDIR)test/,$(subst .cpp,$(OBJ),$(TEST_SOURCES))) $(subst $(SRCDIR),$(OBJDIR),$(subst .cpp,$(OBJ),$(filter-out $(SRCDIR)main.cpp,$(SOURCES))))
- $(CXX) $(CXXAR) -o$@ $^ $(PIC) $(LDAR)
+$(OUTDIR)klapki-test : $(subst $(TSTDIR),$(BLDDIR)test/,$(subst .cpp,$(OBJ),$(TEST_SOURCES))) $(subst $(SRCDIR),$(OBJDIR),$(subst .cpp,$(OBJ),$(filter-out $(SRCDIR)main.cpp,$(SOURCES))))
+ $(CXX) $(CXXAR) -o$@ $^ $(LDAR)
# The d-v-o-s string starts at "BSD" (hence the "BSD General Commands Manual" default); we're not BSD, so hide it
# Can't put it at the very top, since man(1) only loads mdoc *after* the first mdoc macro (.Dd in our case)
$(OUTDIR)man/% : man/%
@mkdir -p $(dir $@)
awk '$$0 == ".Dd" {$$2 = "$(KLAPKI_DATE)"} $$1 == ".Dt" { print ".ds doc-volume-operating-system" } $$0 == ".Os" {$$2 = "klapki"; $$3 = $(KLAPKI_VERSION)} {print}' $< > $@
- ! $(MANDOC) -Tlint $@ 2>&1 | grep -vE -e 'mandoc: outdated mandoc.db' -e 'STYLE: referenced manual not found' -e 'STYLE: input text line longer than 80 bytes:' -e 'STYLE: operating system explicitly specified: Os klapki'
+ ! $(MANDOC) -Tlint $@ 2>&1 | grep -vF -e 'mandoc: outdated mandoc.db' -e 'STYLE: referenced manual not found' -e 'STYLE: input text line longer than 80 bytes:' -e 'STYLE: operating system explicitly specified: Os klapki'
# https://manpages.debian.org/bullseye/SHA1.3ssl
$(OUTDIR)man/%.html : $(OUTDIR)man/%
@@ 20,9 20,6 @@
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-EXE :=
-DLL := .so
-PIC := -fPIC
OS_LD_LIBS :=
CXXVER := $(shell $(CXX) --version)
@@ 53,8 50,8 @@ INCCMAKEAR := CXXFLAGS="$(INCCXXAR)"
LNCMAKEAR := LDFLAGS="$(LNCXXAR)"
OBJ := .o
-CXXAR := -O3 -g -std=c++17 -Wall -Wextra $(PEDANTIC) -pipe $(INCCXXAR) $(PIC)
-STRIP ?= @true
+CXXAR := -O3 -g -std=c++17 -Wall -Wextra $(PEDANTIC) -pipe $(INCCXXAR) -fPIC
+STRIP ?= @:
STRIPAR := --strip-all --remove-section=.comment --remove-section=.note
MANDOC ?= mandoc