PUD: do not install headers by default
[olsrd.git] / lib / pud / wireformat / Makefile
1 include Makefile.inc
2
3 include ../Makefile.inc
4 OLSRD_PLUGIN = false
5
6 TOPDIR = ../../..
7 include $(TOPDIR)/Makefile.inc
8
9 ######################
10 #
11 # Settings
12 #
13 ######################
14
15 MACHINE=$(shell uname -m)
16 LIBDIR_INSTALL = usr/lib
17 ifeq ($(strip $(MACHINE)),x86_64)
18   LIB64DIR := $(shell test -d "/usr/lib64" && echo "YES")
19   ifeq ($(strip $(LIB64DIR)),YES)
20     LIBDIR_INSTALL = usr/lib64
21   endif
22 endif
23
24
25 BUILD_DIR = build
26
27 INC_DIR_BASE_C = include
28 INC_DIR_C = $(INC_DIR_BASE_C)/$(PROJECT)
29 INC_DIR_OLSRD = ../../../src
30
31 LIBDIR_BUILD = lib
32
33 MODULES = nodeIdConversion wireFormat
34
35 SRC_DIR_C = src
36 OBJECTS_C = $(MODULES:%=$(BUILD_DIR)/%.o)
37
38 INCLUDES = -I "$(INC_DIR_BASE_C)" -I "$(INC_DIR_OLSRD)"
39 LIBRARIES = -lm
40
41 DESTDIR ?=
42 INC_DIR_INSTALL = usr/$(INC_DIR_C)
43
44
45 ifneq ($(OS),linux)
46
47 .PHONY: all default_target install clean
48
49 all: default_target
50
51 default_target install clean:
52         @echo "*** only supported on Linux"
53
54 else
55
56 .PHONY: all default_target prepare clean doc doc-clean install install-headers uninstall uninstall-headers
57
58 #
59 # Targets
60 #
61
62 all: default_target
63
64 default_target: prepare $(LIBDIR_BUILD)/$(SONAME)
65
66 $(LIBDIR_BUILD)/$(SONAME): $(OBJECTS_C)
67         @echo "[LD] $@"
68         @$(CC) -shared -Wl,-soname=$(SONAME) $(LIBRARIES) -o "$@" $(OBJECTS_C)
69
70 $(BUILD_DIR)/%.o: $(SRC_DIR_C)/%.c $(INC_DIR_C)/compiler.h
71         @echo "[CC] $<"
72         @$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -c -o "$@" "$<"
73
74 .gitignore:
75         @echo "[$@]"
76         @echo "/$(BUILD_DIR)/" > $@
77         @echo "/$(LIBDIR_BUILD)/" >> $@
78         @$(MAKE) -C doc $@
79
80
81 #
82 # Phony Targets
83 #
84
85 prepare:
86         @mkdir -p "$(BUILD_DIR)" "$(LIBDIR_BUILD)"
87
88 clean: doc-clean
89         @echo "[$@]"
90         @rm -fr "$(BUILD_DIR)" "$(LIBDIR_BUILD)" "$(SRC_DIR_C)/"*.d
91
92 doc:
93         @$(MAKE) -C doc all
94
95 doc-clean:
96         @$(MAKE) -C doc clean
97
98 install: all
99         mkdir -v -p "$(DESTDIR)/$(LIBDIR_INSTALL)"
100         cp "$(LIBDIR_BUILD)/$(SONAME)" "$(DESTDIR)/$(LIBDIR_INSTALL)/$(SONAME).$(PLUGIN_VER)"
101         $(STRIP) "$(DESTDIR)/$(LIBDIR_INSTALL)/$(SONAME).$(PLUGIN_VER)"
102         ldconfig -n "$(DESTDIR)/$(LIBDIR_INSTALL)"
103
104 install-headers:
105         rm -fr "$(DESTDIR)/$(INC_DIR_INSTALL)"
106         mkdir -v -p "$(DESTDIR)/$(INC_DIR_INSTALL)"
107         cp -t "$(DESTDIR)/$(INC_DIR_INSTALL)" $(INC_DIR_C)/*.h
108
109 uninstall:
110         rm -f "$(DESTDIR)/$(LIBDIR_INSTALL)/$(SONAME)" \
111               "$(DESTDIR)/$(LIBDIR_INSTALL)/$(SONAME).$(PLUGIN_VER)"
112         ldconfig -n "$(DESTDIR)/$(LIBDIR_INSTALL)"
113         rmdir -v -p --ignore-fail-on-non-empty \
114           "$(DESTDIR)/$(LIBDIR_INSTALL)"
115
116 uninstall-headers:
117         rm -fr "$(DESTDIR)/$(INC_DIR_INSTALL)/"*.h
118         rmdir -v -p --ignore-fail-on-non-empty \
119           "$(DESTDIR)/$(INC_DIR_INSTALL)"
120
121 endif