cnotes/Makefile
Greg Gauthier 855221d217
All checks were successful
Build / build (push) Successful in 14s
add linting to makefile
2026-01-30 21:44:32 +00:00

65 lines
2.0 KiB
Makefile

# Makefile for cnotes - GCC on Linux/Unix/macOS
# Strict C89/ANSI compliant build
CC = gcc
CFLAGS = -ansi -Wpedantic -Wall -Wextra -O2
INCLUDES = -I include
SRCDIR = src
INCDIR = include
BUILDDIR = build
SOURCES = $(SRCDIR)/cnadd.c $(SRCDIR)/cndump.c $(SRCDIR)/cncount.c $(SRCDIR)/cndel.c $(SRCDIR)/cnfind.c $(SRCDIR)/cnhelp.c
HEADERS = $(INCDIR)/platform.h $(INCDIR)/config.h
TARGETS = $(BUILDDIR)/cnadd $(BUILDDIR)/cndump $(BUILDDIR)/cncount $(BUILDDIR)/cndel $(BUILDDIR)/cnfind $(BUILDDIR)/cnhelp
.PHONY: all clean install uninstall
all: $(BUILDDIR) $(TARGETS)
$(BUILDDIR):
mkdir -p $(BUILDDIR)
$(BUILDDIR)/cnadd: $(SRCDIR)/cnadd.c $(HEADERS)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $(SRCDIR)/cnadd.c
$(BUILDDIR)/cndump: $(SRCDIR)/cndump.c $(HEADERS)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $(SRCDIR)/cndump.c
$(BUILDDIR)/cncount: $(SRCDIR)/cncount.c $(HEADERS)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $(SRCDIR)/cncount.c
$(BUILDDIR)/cndel: $(SRCDIR)/cndel.c $(HEADERS)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $(SRCDIR)/cndel.c
$(BUILDDIR)/cnfind: $(SRCDIR)/cnfind.c $(HEADERS)
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $(SRCDIR)/cnfind.c
$(BUILDDIR)/cnhelp: $(SRCDIR)/cnhelp.c
$(CC) $(CFLAGS) -o $@ $(SRCDIR)/cnhelp.c
clean:
rm -rf $(BUILDDIR)
# Install to /usr/local/bin (optional, run with sudo)
install: $(TARGETS)
install -m 755 $(BUILDDIR)/cnadd /usr/local/bin/
install -m 755 $(BUILDDIR)/cndump /usr/local/bin/
install -m 755 $(BUILDDIR)/cncount /usr/local/bin/
install -m 755 $(BUILDDIR)/cndel /usr/local/bin/
install -m 755 $(BUILDDIR)/cnfind /usr/local/bin/
install -m 755 $(BUILDDIR)/cnhelp /usr/local/bin/
uninstall:
rm -f /usr/local/bin/cnadd /usr/local/bin/cndump /usr/local/bin/cncount /usr/local/bin/cndel /usr/local/bin/cnfind /usr/local/bin/cnhelp
# Strict splint (very verbose, use with caution)
splint-strict:
splint +standard -I./include src/*.c
cppcheck:
@echo "Running cppcheck..."
@cppcheck --std=c90 --enable=warning,style,performance,portability \
--suppress=missingIncludeSystem --quiet -I./include src/