Sophie

Sophie

distrib > Mageia > cauldron > x86_64 > by-pkgid > b471d0225126e42216805c17a104cb76 > files > 1

cowpatty-4.8-4.mga9.src.rpm

From df3b55e03335162c78437b106e5b1b1e9a5011fb Mon Sep 17 00:00:00 2001
From: arcctgx <arcctgx@poczta.onet.pl>
Date: Wed, 21 Nov 2018 00:47:25 +0100
Subject: [PATCH] more Makefile improvements

- improve object recipes, so that they are not PHONY and their
  dependencies on header files are explicitly stated
- mark .PHONY targets as such
- use built-in $(RM) in clean target
- add target for installing manuals
---
 Makefile | 39 ++++++++++++++++++++++++---------------
 1 file changed, 24 insertions(+), 15 deletions(-)

diff --git a/Makefile b/Makefile
index 40d254a..fe5a5ff 100644
--- a/Makefile
+++ b/Makefile
@@ -13,37 +13,46 @@ CFLAGS		+= -O2
 LDLIBS		+= -lcrypto
 CFLAGS		+= -g3 -ggdb
 #CFLAGS		+= -static
-PROGOBJ		= md5.o sha1.o utils.o cowpatty.o genpmk.o
+PROGOBJ		= md5.o sha1.o utils.o
 PROG		= cowpatty genpmk
+MANUALS		= cowpatty.1 genpmk.1
 BINDIR		= /usr/local/bin
+MANDIR		= /usr/local/man/man1
 CC			= clang
 
-all: $(PROGOBJ) $(PROG)
+.PHONY: all clean strip install-man install-bin install
 
-cowpatty: common.h md5.c md5.h sha1.h cowpatty.c cowpatty.h sha1.c \
-            sha1.h utils.c utils.h utils.o md5.o sha1.o
-	$(CC) $(CFLAGS) cowpatty.c -o cowpatty utils.o md5.o sha1.o $(LDLIBS)
+all: $(PROG)
 
-genpmk: genpmk.c cowpatty.h utils.h sha1.h common.h utils.o sha1.o
-	$(CC) $(CFLAGS) genpmk.c -o genpmk utils.o sha1.o $(LDLIBS)
+cowpatty: cowpatty.c cowpatty.h $(PROGOBJ)
+	$(CC) $(CFLAGS) $< -o $@ $(PROGOBJ) $(LDLIBS)
 
-utils: utils.c utils.h
-	$(CC) $(CFLAGS) utils.c -c
+genpmk: genpmk.c cowpatty.h utils.o sha1.o
+	$(CC) $(CFLAGS) $< -o $@ utils.o sha1.o $(LDLIBS)
 
-md5: md5.c md5.h
-	$(CC) $(CFLAGS) md5.c -c
+utils.o: utils.c utils.h radiotap.h
+	$(CC) $(CFLAGS) $< -c
 
-sha1: sha1.c sha1.h
-	$(CC) $(CFLAGS) sha1.c -c
+md5.o: md5.c md5.h common.h
+	$(CC) $(CFLAGS) $< -c
+
+sha1.o: sha1.c sha1.h common.h
+	$(CC) $(CFLAGS) $< -c
 
 clean:
-	@rm -f $(PROGOBJ) $(PROG)
+	$(RM) $(PROGOBJ) $(PROG)
 
 strip:
 	@ls -l $(PROG)
 	@strip $(PROG)
 	@ls -l $(PROG)
 
-install: all
+install-man: $(MANUALS)
+	install -d $(DESTDIR)$(MANDIR)
+	install -m 644 $(MANUALS) $(DESTDIR)$(MANDIR)
+
+install-bin: $(PROG)
 	install -d $(DESTDIR)$(BINDIR)
 	install -m 755 $(PROG) $(DESTDIR)$(BINDIR)
+
+install: install-bin install-man