DESTDIR ?= PREFIX ?= /usr/local EXEC_PREFIX ?= $(PREFIX) BINDIR ?= $(DESTDIR)$(EXEC_PREFIX)/bin LIBEXECDIR ?= $(DESTDIR)$(EXEC_PREFIX)/libexec CFLAGS += -Os -g -Wall -Wextra -pedantic CPPFLAGS += LDFLAGS += SED ?= sed BINS := ethertype-dump arp-request ethermess LIBEXECS := ethermess-backend .SUFFIXES: .SUFFIXES: .c .o .PHONY: all install uninstall clean distclean all: $(BINS) $(LIBEXECS) ethertype-dump: ethertype-dump.o $(CC) -o $@ $< $(LDFLAGS) arp-request: arp-request.o $(CC) -o $@ $< $(LDFLAGS) ethermess: ethermess.py # I'm not sure you can make this work 100% with traditional make #$(SED) "2s/__LIBEXECDIR__/'`printf "%s" "$(LIBEXECDIR)" | sed "s,\\\\\\\\,\\\\\\\\\\\\\\\\,g;s,/,\\\\\\\\/,g;s,"'"'",\\\\\\\\"'"'",g"`'/" < $< > $@ $(SED) "2s/__LIBEXECDIR__/'.'/" < $< > $@ #debg chmod +x $@ ethermess-backend: ethermess-backend.o $(CC) -o $@ $< $(LDFLAGS) .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< install: $(BINS) $(LIBEXECS) mkdir -p $(BINDIR) mkdir -p $(LIBEXECDIR) install $(BINS) $(BINDIR) install $(LIBEXECS) $(LIBEXECDIR) uninstall: cd $(BINDIR) && rm $(BINS) cs $(LIBEXECDIR) && rm $(LIBEXECS) clean: rm -f $(BINS) $(LIBEXECS) *.o distclean: clean