ethermess/Makefile

55 lines
1.2 KiB
Makefile

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