This repository has been archived on 2026-07-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
K1NG-Driver/includes/tomlc17-R260618/Makefile
T
2026-07-30 13:18:41 +02:00

62 lines
1.3 KiB
Makefile

.NOTPARALLEL:
prefix ?= /usr/local
# remove trailing /
override prefix := $(prefix:%/=%)
DIRS := src simple test
BUILDDIRS := $(DIRS:%=build-%)
CLEANDIRS := $(DIRS:%=clean-%)
FORMATDIRS := $(DIRS:%=format-%)
TESTDIRS := $(DIRS:%=test-%)
###################################
# Define PCFILE content based on prefix
define PCFILE
prefix=${prefix}
Name: libtomlc17
URL: https://github.com/cktan/tomlc17/
Description: TOML C library in c17.
Version: v1.0
Libs: -L$${prefix}/lib -ltomlc17
Cflags: -I$${prefix}/include
endef
# Make it available to subshells
export PCFILE
#################################
all: $(BUILDDIRS)
$(BUILDDIRS):
$(MAKE) -C $(@:build-%=%)
install: all
install -d $(DESTDIR)${prefix}/include
install -d $(DESTDIR)${prefix}/lib
install -d $(DESTDIR)${prefix}/lib/pkgconfig
install -m 0644 src/tomlc17.h $(DESTDIR)${prefix}/include/
install -m 0644 src/tomlcpp.hpp $(DESTDIR)${prefix}/include/
install -m 0644 src/libtomlc17.a $(DESTDIR)${prefix}/lib/
@echo "$$PCFILE" >> $(DESTDIR)${prefix}/lib/pkgconfig/libtomlc17.pc
test: $(TESTDIRS)
format: $(FORMATDIRS)
clean: $(CLEANDIRS)
$(TESTDIRS):
$(MAKE) -C $(@:test-%=%) test
$(CLEANDIRS):
$(MAKE) -C $(@:clean-%=%) clean
$(FORMATDIRS):
$(MAKE) -C $(@:format-%=%) format
.PHONY: $(DIRS) $(BUILDDIRS) $(TESTDIRS) $(CLEANDIRS) $(FORMATDIRS)
.PHONY: all install test format clean