From ac6286bc9332128da724dbdbaa63fb8236112094 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 25 Jun 2022 19:08:08 -0700 Subject: Support header-only components. --- Makefile | 35 ++++++++++++++++++++++------------- aisa/aisa.cpp | 7 ------- 2 files changed, 22 insertions(+), 20 deletions(-) delete mode 100644 aisa/aisa.cpp diff --git a/Makefile b/Makefile index 28dd7f6..c8286f5 100644 --- a/Makefile +++ b/Makefile @@ -9,15 +9,34 @@ CXXFLAGS := -Wall -Werror -std=c++20 -fPIC -iquote . ${OPTIMIZE} ${DEBUG} libname = $(shell realpath --canonicalize-missing --relative-to . build/$(dir $(1))/lib$(notdir $(1))) PARTS := $(shell find * -type d -\( -name build -prune -o -name tools -prune -o -print -\)) -PARTARS := $(foreach part, ${PARTS}, $(call libname, ${part}.a)) -PARTSOS := $(foreach part, ${PARTS}, $(call libname, ${part}.so)) +PARTARS := +PARTSOS := MAINOBJS := $(patsubst %.cpp, build/%.o, $(wildcard *.cpp)) MAINOBJS += build/git-tag.o HEADERS := $(find -type f -name \*.h) -all: issim +.DEFAULT: issim issim-static + +define mklib = + +ifneq ($(wildcard $(1)/*.cpp),) + +$(call libname, $(1).a): $(patsubst %.cpp, build/%.o, $(wildcard $(1)/*.cpp)) + @mkdir -p $$(dir $$@) + $${AR} cr $$@ $$+ + +$(call libname, $(1).so): $(patsubst %.cpp, build/%.o, $(wildcard $(1)/*.cpp)) + @mkdir -p $$(dir $$@) + $${CXX} $${CXXFLAGS} -shared -o $$@ $$+ + +PARTARS += $(call libname, $(1).a) +PARTSOS += $(call libname, $(1).so) + +endif + +endef issim: build/issim-dynamic @ln -sf $< $@ @@ -54,16 +73,6 @@ build/%.o: build/%.cpp @mkdir -p $(dir $@) ${CXX} ${CXXFLAGS} -MMD -c -o $@ $< -define mklib = -$(call libname, $(1).a): $(patsubst %.cpp, build/%.o, $(wildcard $(1)/*.cpp)) - @mkdir -p $$(dir $$@) - $${AR} cr $$@ $$+ - -$(call libname, $(1).so): $(patsubst %.cpp, build/%.o, $(wildcard $(1)/*.cpp)) - @mkdir -p $$(dir $$@) - $${CXX} $${CXXFLAGS} -shared -o $$@ $$+ -endef - $(foreach part, ${PARTS}, $(eval $(call mklib, ${part}))) .SUFFIXES: diff --git a/aisa/aisa.cpp b/aisa/aisa.cpp deleted file mode 100644 index 97a3b17..0000000 --- a/aisa/aisa.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include - -#include "aisa/aisa.h" - -namespace aisa { - -} -- cgit v1.2.3