On Thu, Mar 30, 2017 at 08:44:34AM +0200, [email protected] wrote: > commit bbe28227eb80da62fec59aa79ba7a97f5c3937b4 > Author: Laslo Hunhold <[email protected]> > AuthorDate: Thu Mar 30 08:41:17 2017 +0200 > Commit: Laslo Hunhold <[email protected]> > CommitDate: Thu Mar 30 08:43:42 2017 +0200 > > Make Makefile strictly POSIX compliant > > Thanks Hiltjo for the feedback! GNUisms need to be avoided like a > plague, even if it means having to be a little more creative. > > Strict POSIX compliance means that I just worked within the bounds of > the POSIX specification, hopefully without using any GNU or BSD > extensions. If I did, please let me know. > > Tip to all Linux users: Test your Makefiles with pmake(1) instead of > make(1) (= GNU make) and refer to the newest POSIX 2016 make > specification[0]. > > [0]: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html > > diff --git a/Makefile b/Makefile > index dcbbeed..5d9c213 100644 > --- a/Makefile > +++ b/Makefile > @@ -1,31 +1,32 @@ > -# farbfeld - suckless image format with conversion tools > # See LICENSE file for copyright and license details > +# farbfeld - suckless image format with conversion tools > +.POSIX: > + > include config.mk > > -REQ = > HDR = arg.h > BIN = png2ff ff2png jpg2ff ff2jpg ff2pam ff2ppm > -SCRIPTS = 2ff > +SCR = 2ff > MAN1 = 2ff.1 $(BIN:=.1) > MAN5 = farbfeld.5 > > all: $(BIN) > > -$(BIN): % : %.o $(REQ:=.o) > - $(CC) $^ $(LDFLAGS) -o $@ > +.o: $(REQ:=.o) > + $(CC) $(CFLAGS) $($*-LDFLAGS) -o $@ $< $(REQ:=.o) > > -$(BIN:=.o): $(HDR) $(REQ:=.h) > - > -%.o: %.c config.mk > +.c.o: > $(CC) $(CPPFLAGS) $(CFLAGS) -c $< > > +$(BIN:=.o): config.mk $(HDR) $(REQ:=.h) > + > clean: > rm -f $(BIN) $(BIN:=.o) $(REQ:=.o) > > dist: > rm -rf "farbfeld-$(VERSION)" > mkdir -p "farbfeld-$(VERSION)" > - cp -R FORMAT LICENSE Makefile README TODO config.mk $(SCRIPTS) \ > + cp -R FORMAT LICENSE Makefile README TODO config.mk $(SCR) \ > $(HDR) $(BIN:=.c) $(REQ:=.c) $(REQ:=.h) \ > $(MAN1) $(MAN5) "farbfeld-$(VERSION)" > tar -cf - "farbfeld-$(VERSION)" | gzip -c > "farbfeld-$(VERSION).tar.gz" > @@ -33,8 +34,8 @@ dist: > > install: all > mkdir -p "$(DESTDIR)$(PREFIX)/bin" > - cp -f $(SCRIPTS) $(BIN) "$(DESTDIR)$(PREFIX)/bin" > - for f in $(BIN) $(SCRIPTS); do chmod 755 "$(DESTDIR)$(PREFIX)/bin/$$f"; > done > + cp -f $(SCR) $(BIN) "$(DESTDIR)$(PREFIX)/bin" > + for f in $(BIN) $(SCR); do chmod 755 "$(DESTDIR)$(PREFIX)/bin/$$f"; done > mkdir -p "$(DESTDIR)$(MANPREFIX)/man1" > cp -f $(MAN1) "$(DESTDIR)$(MANPREFIX)/man1" > for m in $(MAN1); do chmod 644 "$(DESTDIR)$(MANPREFIX)/man1/$$m"; done > @@ -43,8 +44,6 @@ install: all > for m in $(MAN5); do chmod 644 "$(DESTDIR)$(MANPREFIX)/man5/$$m"; done > > uninstall: > - for f in $(BIN) $(SCRIPTS); do rm -f "$(DESTDIR)$(PREFIX)/bin/$$f"; done > + for f in $(BIN) $(SCR); do rm -f "$(DESTDIR)$(PREFIX)/bin/$$f"; done > for m in $(MAN1); do rm -f "$(DESTDIR)$(MANPREFIX)/man1/$$m"; done > for m in $(MAN5); do rm -f "$(DESTDIR)$(MANPREFIX)/man5/$$m"; done > - > -.PHONY: all clean dist install uninstall > diff --git a/config.mk b/config.mk > index 93988c4..d5bc6c7 100644 > --- a/config.mk > +++ b/config.mk > @@ -12,8 +12,10 @@ CPPFLAGS = -D_DEFAULT_SOURCE > CFLAGS = -std=c89 -pedantic -Wall -Os > LDFLAGS = -s > > -png2ff ff2png: LDFLAGS += -lpng > -jpg2ff ff2jpg: LDFLAGS += -ljpeg > +png2ff-LDFLAGS = -lpng > +ff2png-LDFLAGS = -lpng > +jpg2ff-LDFLAGS = -ljpeg > +ff2jpg-LDFLAGS = -ljpeg > > # compiler and linker > CC = cc >
Why not just revert the patch? The old one worked. The new one has unknown changes (from my view). Please stop this style masturbation. -- Kind regards, Hiltjo
