File: Makefile.freebsd

package info (click to toggle)
infnoise 0.3.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 27,304 kB
  • sloc: ansic: 2,177; sh: 251; python: 146; makefile: 65
file content (65 lines) | stat: -rw-r--r-- 2,179 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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

# Against: libftdi1  from ports/pkg
#
FTDILOCI = /usr/local/include/libftdi1
FTDILOCL = /usr/local/lib
FTDI=   -lftdi1

CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I $(FTDILOCI) \
 -DGIT_VERSION=\"$(GIT_VERSION)\"\
 -DGIT_COMMIT=\"$(GIT_COMMIT)\"\
 -DGIT_DATE=\"$(GIT_DATE)\"\

RM=rm

all: libinfnoise.a libinfnoise.so infnoise

infnoise: libinfnoise.a infnoise.o daemon.o
	$(CC) $(CFLAGS) -o infnoise infnoise.o daemon.o libinfnoise.a $(FTDI) -lm -L. -L $(FTDILOCL)

%.o: %.c infnoise.h libinfnoise.h
	$(CC) -c -o $@ $< $(CFLAGS)

KeccakF-1600-reference.o: Keccak/KeccakF-1600-reference.c Keccak/KeccakF-1600-interface.h Keccak/brg_endian.h
	$(CC) -c -o $@ $< $(CFLAGS)

# static lib compiled into infnoise binary
libinfnoise.o: libinfnoise.c libinfnoise.h libinfnoise_private.h healthcheck.c
	$(CC) $(CFLAGS) -c libinfnoise.c

libinfnoise.a: libinfnoise.o healthcheck.o KeccakF-1600-reference.o
	ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o
	ranlib libinfnoise.a

# shared lib
libinfnoise.so: libinfnoise.o healthcheck.o KeccakF-1600-reference.o
	$(CC) $(CFLAGS) -fvisibility=hidden -o libinfnoise.so libinfnoise.o healthcheck.o KeccakF-1600-reference.o  -L $(FTDILOCL) -Wl $(FTDI) -lm -shared 

libs: libinfnoise.a

clean:
	$(RM) -f infnoise *.o *.a *.gch *.so libinfnoise-example

install-lib: libinfnoise.so
	install -d $(PREFIX)/include
	install -m 0644 libinfnoise.h $(PREFIX)/include
	install -d $(PREFIX)/lib
	install -m 0644 libinfnoise.so $(PREFIX)/lib
	ldconfig $(PREFIX)/lib

install: infnoise
	install -d $(PREFIX)/sbin
	install -m 0755 infnoise $(PREFIX)/sbin/
	install -d $(PREFIX)/lib/udev/rules.d/
	install -m 0644 init_scripts/75-infnoise.rules $(PREFIX)/lib/udev/rules.d/
	install -d $(PREFIX)/lib/systemd/system
	install -m 0644 init_scripts/infnoise.service $(PREFIX)/lib/systemd/system

postinstall:
	systemctl restart systemd-udevd
	systemctl enable infnoise