44 lines
944 B
Makefile
44 lines
944 B
Makefile
# shackle - seccomp jail
|
|
# Copyright (C) 2025 Olive <hello@grasswren.net>
|
|
# see LICENCE file for licensing information
|
|
|
|
.POSIX:
|
|
|
|
VERSION = 1.0.0
|
|
|
|
PREFIX = /usr/local
|
|
|
|
WPROFILE = -Wall -Wextra -Wstrict-prototypes -Wmissing-declarations -Wshadow \
|
|
-Wswitch-default -Wunreachable-code -Wcast-align -Wpointer-arith -Wcast-qual \
|
|
-Wbad-function-cast -Winline -Wundef -Wnested-externs -Wwrite-strings \
|
|
-Wno-unused-parameter -Wfloat-equal -Wpedantic
|
|
STD = -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500
|
|
|
|
CFLAGS = $(WPROFILE) $(STD) -Os
|
|
LDFLAGS = -lseccomp
|
|
|
|
SRC = shackle.c
|
|
OBJ = $(SRC:.c=.o)
|
|
|
|
all: shackle
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
shackle: $(OBJ)
|
|
$(CC) $(OBJ) -o $@ $(LDFLAGS)
|
|
|
|
clean:
|
|
rm -f shackle $(OBJ)
|
|
|
|
install: all
|
|
mkdir -p $(PREFIX)/bin
|
|
cp -f shackle $(PREFIX)/bin
|
|
chown root:users $(PREFIX)/bin/shackle
|
|
chmod 4754 $(PREFIX)/bin/shackle
|
|
|
|
uninstall:
|
|
rm -f $(PREFIX)/bin/shackle
|
|
|
|
.PHONY: all clean install uninstall
|