Browse Source

Add all, install, uninstall and help Makefile targets.

Georgi Chorbadzhiyski 9 years ago
parent
commit
e0aa4602a4
2 changed files with 45 additions and 1 deletions
  1. 1
    0
      ChangeLog
  2. 44
    1
      Makefile

+ 1
- 0
ChangeLog View File

@@ -1,6 +1,7 @@
1 1
 |-----------------------------------------------------------------------|
2 2
 2014-11-29 : Version 0.4-dev
3 3
  * Add videohubctrl(1) man page.
4
+ * Add all, install, uninstall and help Makefile targets.
4 5
 
5 6
 2014-11-28 : Version 0.3
6 7
  * Rename -v / --verbose parameter to -d / --debug.

+ 44
- 1
Makefile View File

@@ -24,6 +24,14 @@ endif
24 24
 
25 25
 DEFS += -D_FILE_OFFSET_BITS=64
26 26
 
27
+PREFIX ?= /usr/local
28
+
29
+INSTALL_PRG = videohubctrl
30
+INSTALL_PRG_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/bin)
31
+
32
+INSTALL_DOC = videohubctrl.1
33
+INSTALL_DOC_DIR = $(subst //,/,$(DESTDIR)/$(PREFIX)/share/man/man1)
34
+
27 35
 FUNCS_DIR = libfuncs
28 36
 FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
29 37
 
@@ -39,7 +47,7 @@ videohubctrl_OBJS = $(FUNCS_LIB) $(videohubctrl_SRC:.c=.o)
39 47
 CLEAN_OBJS = videohubctrl $(videohubctrl_SRC:.c=.o) $(videohubctrl_SRC:.c=.d)
40 48
 DISTCLEAN_OBJS = version.h
41 49
 
42
-.PHONY: distclean clean version
50
+.PHONY: distclean clean version install uninstall
43 51
 
44 52
 PROGS=videohubctrl
45 53
 
@@ -51,6 +59,8 @@ videohubctrl: $(videohubctrl_OBJS)
51 59
 	$(Q)echo "  LINK	videohubctrl"
52 60
 	$(Q)$(CROSS)$(CC) $(CFLAGS) $(DEFS) $(videohubctrl_OBJS) $(videohubctrl_LIBS) $(LDFLAGS) -o videohubctrl
53 61
 
62
+all: version
63
+
54 64
 $(FUNCS_LIB): $(FUNCS_DIR)/libfuncs.h
55 65
 	$(Q)echo "  MAKE	$(FUNCS_LIB)"
56 66
 	$(Q)$(MAKE) -s -C $(FUNCS_DIR)
@@ -74,3 +84,36 @@ distclean: clean
74 84
 	$(Q)echo "  RM	$(DISTCLEAN_OBJS)"
75 85
 	$(Q)$(RM) $(DISTCLEAN_OBJS)
76 86
 	$(Q)$(MAKE) -s -C $(FUNCS_DIR) clean
87
+
88
+install: all
89
+	@install -d "$(INSTALL_PRG_DIR)"
90
+	@install -d "$(INSTALL_DOC_DIR)"
91
+	@echo "INSTALL $(INSTALL_PRG) -> $(INSTALL_PRG_DIR)"
92
+	$(Q)-install $(INSTALL_PRG) "$(INSTALL_PRG_DIR)"
93
+	@echo "INSTALL $(INSTALL_DOC) -> $(INSTALL_DOC_DIR)"
94
+	$(Q)-install --mode 0644 $(INSTALL_DOC) "$(INSTALL_DOC_DIR)"
95
+
96
+uninstall:
97
+	@-for FILE in $(INSTALL_PRG); do \
98
+		echo "RM       $(INSTALL_PRG_DIR)/$$FILE"; \
99
+		rm "$(INSTALL_PRG_DIR)/$$FILE"; \
100
+	done
101
+	@-for FILE in $(INSTALL_DOC); do \
102
+		echo "RM       $(INSTALL_DOC_DIR)/$$FILE"; \
103
+		rm "$(INSTALL_DOC_DIR)/$$FILE"; \
104
+	done
105
+
106
+help:
107
+	$(Q)echo -e "\
108
+videohubctrl build\n\n\
109
+Build targets:\n\
110
+  all             - Build videohubctrl\n\
111
+  install         - Install videohubctrl in PREFIX: $(PREFIX)\n\
112
+  uninstall       - Uninstall videohubctrl from PREFIX\n\
113
+\n\
114
+Cleaning targets:\n\
115
+  clean           - Remove videohubctrl generated files.\n\
116
+  distclean       - Remove all generated files.\n\
117
+\n\
118
+  make V=1          Enable verbose build\n\
119
+  make PREFIX=dir   Set install prefix\n"

Loading…
Cancel
Save