cnotes/Makefile
2026-01-30 13:35:14 +00:00

48 lines
1.3 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
HEADERS = $(INCDIR)/platform.h $(INCDIR)/config.h
TARGETS = $(BUILDDIR)/cnadd $(BUILDDIR)/cndump $(BUILDDIR)/cncount $(BUILDDIR)/cndel
.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
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/
uninstall:
rm -f /usr/local/bin/cnadd /usr/local/bin/cndump /usr/local/bin/cncount /usr/local/bin/cndel