From 17a3ea880402338420699e03bcb24181e4ff3924 Mon Sep 17 00:00:00 2001 From: Rutger Broekhoff Date: Thu, 2 May 2024 20:27:40 +0200 Subject: Initial commit Based on dc4ba6a --- lib/libtmi8/Makefile | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lib/libtmi8/Makefile (limited to 'lib/libtmi8/Makefile') diff --git a/lib/libtmi8/Makefile b/lib/libtmi8/Makefile new file mode 100644 index 0000000..52a9807 --- /dev/null +++ b/lib/libtmi8/Makefile @@ -0,0 +1,41 @@ +# Taken from: +# Open Source Security Foundation (OpenSSF), “Compiler Options Hardening Guide +# for C and C++,” OpenSSF Best Practices Working Group. Accessed: Dec. 01, +# 2023. [Online]. Available: +# https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html +CXXFLAGS=-std=c++2b -g -fno-omit-frame-pointer -Iinclude $(if $(DEVMODE),-Werror,)\ + -O2 -Wall -Wformat=2 -Wconversion -Wtrampolines -Wimplicit-fallthrough \ + -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 \ + -D_GLIBCXX_ASSERTIONS \ + -fstrict-flex-arrays=3 \ + -fstack-clash-protection -fstack-protector-strong +LDFLAGS=-larrow -lparquet -Wl,-z,defs \ + -Wl,-z,nodlopen -Wl,-z,noexecstack \ + -Wl,-z,relro -Wl,-z,now +DESTDIR=/usr/local + +LIBHDRS=include/tmi8/kv1_lexer.hpp include/tmi8/kv1_parser.hpp include/tmi8/kv1_types.hpp include/tmi8/kv6_parquet.hpp +LIBSRCS=src/kv1_index.cpp src/kv1_lexer.cpp src/kv1_parser.cpp src/kv1_types.cpp src/kv6_parquet.cpp +LIBOBJS=$(patsubst %.cpp,%.o,$(LIBSRCS)) + +.PHONY: all install libtmi8 clean +all: libtmi8 + +libtmi8: libtmi8.a libtmi8.so + +clean: + rm libtmi8.a libtmi8.so $(LIBOBJS) + +install: libtmi8.a $(LIBHDRS) + install -D -m644 include/tmi8/* -t $(DESTDIR)/include/tmi8 + install -D -m644 libtmi8.a -t $(DESTDIR)/lib + install -D -m644 libtmi8.so -t $(DESTDIR)/lib + +src/%.o: src/%.cpp $(LIBHDRS) + $(CXX) -c -o $@ $< $(CXXFLAGS) + +libtmi8.a: $(LIBOBJS) + $(AR) rcs $@ $^ + +libtmi8.so: $(LIBOBJS) + $(CXX) -shared -fPIC -o $@ $^ $(CXXFLAGS) $(LDFLAGS) -- cgit v1.2.3