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

+ 44
- 1
Makefile View File

24
 
24
 
25
 DEFS += -D_FILE_OFFSET_BITS=64
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
 FUNCS_DIR = libfuncs
35
 FUNCS_DIR = libfuncs
28
 FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
36
 FUNCS_LIB = $(FUNCS_DIR)/libfuncs.a
29
 
37
 
39
 CLEAN_OBJS = videohubctrl $(videohubctrl_SRC:.c=.o) $(videohubctrl_SRC:.c=.d)
47
 CLEAN_OBJS = videohubctrl $(videohubctrl_SRC:.c=.o) $(videohubctrl_SRC:.c=.d)
40
 DISTCLEAN_OBJS = version.h
48
 DISTCLEAN_OBJS = version.h
41
 
49
 
42
-.PHONY: distclean clean version
50
+.PHONY: distclean clean version install uninstall
43
 
51
 
44
 PROGS=videohubctrl
52
 PROGS=videohubctrl
45
 
53
 
51
 	$(Q)echo "  LINK	videohubctrl"
59
 	$(Q)echo "  LINK	videohubctrl"
52
 	$(Q)$(CROSS)$(CC) $(CFLAGS) $(DEFS) $(videohubctrl_OBJS) $(videohubctrl_LIBS) $(LDFLAGS) -o videohubctrl
60
 	$(Q)$(CROSS)$(CC) $(CFLAGS) $(DEFS) $(videohubctrl_OBJS) $(videohubctrl_LIBS) $(LDFLAGS) -o videohubctrl
53
 
61
 
62
+all: version
63
+
54
 $(FUNCS_LIB): $(FUNCS_DIR)/libfuncs.h
64
 $(FUNCS_LIB): $(FUNCS_DIR)/libfuncs.h
55
 	$(Q)echo "  MAKE	$(FUNCS_LIB)"
65
 	$(Q)echo "  MAKE	$(FUNCS_LIB)"
56
 	$(Q)$(MAKE) -s -C $(FUNCS_DIR)
66
 	$(Q)$(MAKE) -s -C $(FUNCS_DIR)
74
 	$(Q)echo "  RM	$(DISTCLEAN_OBJS)"
84
 	$(Q)echo "  RM	$(DISTCLEAN_OBJS)"
75
 	$(Q)$(RM) $(DISTCLEAN_OBJS)
85
 	$(Q)$(RM) $(DISTCLEAN_OBJS)
76
 	$(Q)$(MAKE) -s -C $(FUNCS_DIR) clean
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