diff --git a/src/Makefile b/src/Makefile index 8a7800dc6a1e3e4797436b2338c825ff843c7e9c..177922bed328460a1036f66630960a367651461e 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,6 +3,13 @@ CFLAGS+=-I. -D_GNU_SOURCE CFLAGS+= -ggdb3 -Wall -Werror CFLAGS += -I/usr/include/libnl3 +header-files=cmdu.h cmdu_ackq.h 1905_tlvs.h i1905_wsc.h bufutil.h \ + timer_impl.h i1905_extension.h + +lib-files=libmidgen.so libieee1905.so +bin-files=ieee1905d + + OBJS = cmdu_input.o \ cmdu_output.o \ config.o \ @@ -52,7 +59,7 @@ extmod_files = $(foreach d, $(extmod_subdirs), $(extmod_sofile)) -.PHONY: all clean tests docs +.PHONY: all clean tests docs install all: libmidgen.so libieee1905.so ieee1905d extmods tests @@ -84,6 +91,10 @@ docs: cp docs/latex/refman.pdf docs/ieee1905.pdf +-include Makefile.inc + +install: install-headers install-libs install-bins + for i in $(extmod_subdirs); do [ -d $$i ] && $(MAKE) -C $$i install; done clean: rm -f *.o *.so $(EXECS) diff --git a/src/Makefile.inc b/src/Makefile.inc new file mode 100644 index 0000000000000000000000000000000000000000..7911c44096c751cef96a2af95158eeca71e5c2ac --- /dev/null +++ b/src/Makefile.inc @@ -0,0 +1,38 @@ +CP ?= cp -fpPR +INSTALL ?= install +INSTALL_DIR = $(INSTALL) -d -m 755 +INSTALL_BIN = $(INSTALL) -m 755 +INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_CONF = $(INSTALL) -m 600 +INSTALL_LIB = $(CP) + +ROOTDIR:=$(shell pwd) +INCDIR ?= /usr/include +LIBDIR ?= /usr/lib +BINDIR ?= /usr/sbin + +IEEE1905_PLUGINS_DIR:=$(DESTDIR)/$(LIBDIR)/ieee1905 + +header-files ?= $(wildcard *.h) +library-files ?= $(wildcard *.so*) +bin-files ?= + + +$(DESTDIR)/$(INCDIR)/%: % + $(INSTALL_DATA) -D $< $@ + +$(DESTDIR)/$(LIBDIR)/%: % + $(INSTALL_DIR) $(DESTDIR)/$(LIBDIR) + $(INSTALL_LIB) $< $@ + +$(DESTDIR)/$(BINDIR)/%: % + $(INSTALL_DIR) $(DESTDIR)/$(BINDIR) + $(INSTALL_BIN) $< $@ + +export + +install-headers: $(addprefix $(DESTDIR)/$(INCDIR)/,$(header-files)) + +install-libs: $(addprefix $(DESTDIR)/$(LIBDIR)/,$(library-files)) + +install-bins: $(addprefix $(DESTDIR)/$(BINDIR)/,$(bin-files)) diff --git a/src/extensions/map/Makefile b/src/extensions/map/Makefile index eacfa6acb63d69fe116ae086f89b4c572ab621aa..74e08de2e2ba0bc4f6c93a1e7b5d1775056063f4 100644 --- a/src/extensions/map/Makefile +++ b/src/extensions/map/Makefile @@ -24,5 +24,13 @@ libmaputil.so: $(UTIL-OBJS) $(MAP_PLUGIN): $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^ -lmaputil +header-files = map2.h map_module.h + +install: + $(INSTALL_DIR) $(IEEE1905_PLUGINS_DIR) + $(CP) $(MAP_PLUGIN) $(IEEE1905_PLUGINS_DIR) + $(CP) libmaputil.so $(DESTDIR)/$(LIBDIR) + $(INSTALL_DATA) $(header-files) $(DESTDIR)/$(INCDIR) + clean: rm -f *.o *.so*