-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
51 lines (40 loc) · 1 KB
/
Makefile
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
.PHONY: clean dist test
.SUFFIXES: .c .o
PACKAGE := hosted
VERSION := 1.0.0
PREFIX := /usr/local
CFLAGS :=
CFLAGS += -Wall -Wextra
CFLAGS += -std=gnu99 -pedantic -g
CLFAGS += -pipe
.c:
$(CC) $(CFLAGS) $(LIBS) -o $@ $<
TARGETS :=
TARGETS += hosted
all: build install
build: $(TARGETS)
install:
test -d $(DESTDIR)/$(PREFIX)/bin || mkdir -p $(DESTDIR)/$(PREFIX)/bin
for target in $(TARGETS); do \
install -m 0755 $$target $(DESTDIR)/$(PREFIX)/bin; \
done
dist:
rm -f $(PACKAGE)-$(VERSION).tar.gz
mkdir -p $(PACKAGE)-$(VERSION)
cp -a *.c $(PACKAGE)-$(VERSION)/
cp -a Makefile $(PACKAGE)-$(VERSION)/Makefile
tar -czf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)/
rm -r $(PACKAGE)-$(VERSION)
rpm-pre: dist
cp $(PACKAGE)-$(VERSION).tar.gz ~/rpmbuild/SOURCES
cp rpm.spec.in rpm.spec
sed -i -e "s/@VERSION@/$(VERSION)/g" \
-e "s/@PACKAGE@/$(PACKAGE)/g" rpm.spec
rpmbuild -ba rpm.spec
rpm: rpm-pre clean
test: check
check:
clean:
rm -f $(TARGETS)
rm -f rpm.spec
rm -f $(PACKAGE)-$(VERSION).tar.gz