47 lines
1.7 KiB
Makefile
47 lines
1.7 KiB
Makefile
GIT_VERSION := $(shell git --no-pager describe --tags --always)
|
|
GIT_COMMIT := $(shell git rev-parse --verify HEAD)
|
|
GIT_DATE := $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only))
|
|
|
|
PREFIX = $(DESTDIR)/usr/local
|
|
|
|
CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -I Keccak -I /usr/include/libftdi1 \
|
|
-DGIT_VERSION=\"$(GIT_VERSION)\"\
|
|
-DGIT_COMMIT=\"$(GIT_COMMIT)\"\
|
|
-DGIT_DATE=\"$(GIT_DATE)\"\
|
|
|
|
FOUND = $(shell ldconfig -p | grep --silent libftdi.so && echo found)
|
|
ifeq ($(FOUND), found)
|
|
FTDI= -lftdi
|
|
else
|
|
FTDI= -lftdi1
|
|
endif
|
|
|
|
all: libinfnoise.a infnoise
|
|
|
|
infnoise: infnoise.c infnoise.h libinfnoise.a healthcheck.c writeentropy.c daemon.c
|
|
$(CC) $(CFLAGS) -o infnoise infnoise.c writeentropy.c healthcheck.c daemon.c $(FTDI) -lm -lrt -L . -linfnoise
|
|
|
|
libinfnoise.a: libinfnoise.c libinfnoise.h healthcheck.c healthcheck.h Keccak/brg_endian.h Keccak/KeccakF-1600-reference.c
|
|
$(CC) $(CFLAGS) -c libinfnoise.c libinfnoise.h healthcheck.c Keccak/KeccakF-1600-reference.c $(FTDI) -lm
|
|
ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o
|
|
|
|
libs: libinfnoise.a
|
|
|
|
libinfnoise-example: libinfnoise.c libinfnoise.h
|
|
$(CC) $(CFLAGS) -D LIB_EXAMPLE_PROGRAM -o libinfnoise-example libinfnoise.c libinfnoise.h healthcheck.c writeentropy.c daemon.c Keccak/KeccakF-1600-reference.c $(FTDI) -lm -lrt
|
|
|
|
clean:
|
|
$(RM) infnoise *.o *.a libinfnoise-example
|
|
|
|
install:
|
|
install -d $(PREFIX)/sbin
|
|
install -m 0755 infnoise $(PREFIX)/sbin/
|
|
install -d $(PREFIX)/lib/udev/rules.d/
|
|
install -m 0644 75-infnoise.rules $(PREFIX)/lib/udev/rules.d/
|
|
install -d $(PREFIX)/lib/systemd/system
|
|
install -m 0644 infnoise.service $(PREFIX)/lib/systemd/system
|
|
|
|
postinstall:
|
|
systemctl restart systemd-udevd
|
|
systemctl enable infnoise
|