summaryrefslogtreecommitdiff
path: root/util/libreboot-utils/Makefile
blob: f19612d37215603a0d9ecc0e6ddbd87d991f8a79 (plain)
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
# SPDX-License-Identifier: MIT
# Copyright (c) 2022,2026 Leah Rowe <leah@libreboot.org>
# Copyright (c) 2023 Riku Viitanen <riku.viitanen@protonmail.com>

CC = cc
CFLAGS = -Os -Wall -Wextra -std=c99 -pedantic
LDFLAGS =
PREFIX = /usr/local
DESTDIR =
INSTALL = install

PROGS = nvmutil mkhtemp lottery

LIB_OBJS = \
	lib/state.o \
	lib/file.o \
	lib/string.o \
	lib/usage.o \
	lib/command.o \
	lib/num.o \
	lib/io.o \
	lib/checksum.o \
	lib/word.o \
	lib/mkhtemp.o \
	lib/rand.o

OBJS_NVMUTIL = nvmutil.o $(LIB_OBJS)
OBJS_MKHTEMP = mkhtemp.o lib/file.o lib/string.o lib/num.o lib/mkhtemp.o lib/rand.o
OBJS_LOTTERY = lottery.o lib/file.o lib/string.o lib/num.o lib/mkhtemp.o lib/rand.o

all: $(PROGS)

nvmutil: $(OBJS_NVMUTIL)
	$(CC) $(CFLAGS) $(OBJS_NVMUTIL) -o $@ $(LDFLAGS)

mkhtemp: $(OBJS_MKHTEMP)
	$(CC) $(CFLAGS) $(OBJS_MKHTEMP) -o $@ $(LDFLAGS)

lottery: $(OBJS_LOTTERY)
	$(CC) $(CFLAGS) $(OBJS_LOTTERY) -o $@ $(LDFLAGS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

install: $(PROGS)
	mkdir -p $(DESTDIR)$(PREFIX)/bin
	for p in $(PROGS); do \
		$(INSTALL) $$p $(DESTDIR)$(PREFIX)/bin/$$p; \
		chmod 755 $(DESTDIR)$(PREFIX)/bin/$$p; \
	done

uninstall:
	for p in $(PROGS); do \
		rm -f $(DESTDIR)$(PREFIX)/bin/$$p; \
	done

clean:
	rm -f $(PROGS) *.o lib/*.o

distclean: clean