source: Makefile @ cfdf333

Last change on this file since cfdf333 was cfdf333, checked in by Tomasz Obrebski <to@…>, 12 years ago

Naprawy dotyczace oblugi plikow konfiguracyjnych.

  • Property mode set to 100644
File size: 3.4 KB
Line 
1include config.mak
2
3CUR_DIR=$(shell pwd)
4SRC_DIR=$(CUR_DIR)/src
5
6TARGETS = components configuration share libraries
7
8ifeq ($(BUILD_DOC), yes)
9        TARGETS += documentation
10endif
11
12.PHONY: all
13all: $(TARGETS)
14
15# ------------------------------------------------------------------
16# main section
17# ------------------------------------------------------------------
18.PHONY: components
19components:
20        cd $(SRC_DIR)/lib && make; cd $(CUR_DIR)
21        @for cmp in $(COMPONENTS); do\
22                cd $(SRC_DIR)/$$cmp && make; cd $(CUR_DIR); \
23        done
24
25.PHONY: documentation
26documentation:
27        cd $(CUR_DIR)/doc && make; cd $(CUR_DIR)
28
29.PHONY: configuration
30configuration:
31        cd $(CUR_DIR)/conf && make; cd $(CUR_DIR)
32
33.PHONY: libraries
34libraries:
35
36.PHONY: share
37share:
38
39# ------------------------------------------------------------------
40# cleanup section
41# ------------------------------------------------------------------
42.PHONY: clean
43clean: clean_components clean_documentation clean_config
44        @echo "All files cleaned successfully!"
45
46.PHONY: clean_components
47clean_components:
48        @for cmp in $(COMPONENTS); do \
49                cd $(SRC_DIR)/$$cmp && make clean; cd $(CUR_DIR); \
50        done
51        cd $(SRC_DIR)/lib && make clean; cd $(CUR_DIR);
52
53.PHONY: clean_documentation
54clean_documentation:
55        cd $(CUR_DIR)/doc && make clean; cd $(CUR_DIR)
56
57.PHONY: clean_config
58clean_config:
59        cd $(CUR_DIR)/conf && make clean; cd $(CUR_DIR)
60
61# ------------------------------------------------------------------
62# install section
63# ------------------------------------------------------------------
64.PHONY: install
65install: all install_dirs install_components install_configuration install_libraries install_documentation install_share
66
67.PHONY: install_dirs
68install_dirs:
69        install -d $(PREFIX) \
70                $(BIN_DIR) \
71                $(CONF_DIR) \
72                $(LANG_DIR) \
73                $(LIB_DIR) \
74                $(DOC_DIR) \
75                $(SHARE_DIR)/info
76
77.PHONY: install_components
78install_components: components
79        @for cmp in $(COMPONENTS); do \
80                cd $(SRC_DIR)/$$cmp && make install; cd $(CUR_DIR); \
81        done
82
83.PHONY: install_configuration
84install_configuration: configuration
85        cd $(CUR_DIR)/conf && make install; cd $(CUR_DIR)
86
87.PHONY: install_libraries
88install_libraries: libraries
89        cd $(CUR_DIR)/lib && make install; cd $(CUR_DIR)
90
91.PHONY: install_documentation
92install_documentation: documentation
93        cd $(CUR_DIR)/doc && make install; cd $(CUR_DIR)
94
95.PHONY: install_share
96install_share: share
97        cd $(CUR_DIR)/share && make install; cd $(CUR_DIR)
98
99# ------------------------------------------------------------------
100# uninstall section
101# ------------------------------------------------------------------
102
103.PHONY: uninstall
104uninstall: uninstall_share uninstall_documentation uninstall_libraries uninstall_configuration uninstall_components uninstall_dirs
105
106.PHONY: uninstall_components
107uninstall_components:
108        @for cmp in $(COMPONENTS); do \
109                cd $(SRC_DIR)/$$cmp && make uninstall; cd $(CUR_DIR); \
110        done
111
112.PHONY: uninstall_configuration
113uninstall_configuration:
114        cd $(CUR_DIR)/conf && make uninstall; cd $(CUR_DIR)
115
116.PHONY: uninstall_libraries
117uninstall_libraries:
118        cd $(CUR_DIR)/lib && make uninstall; cd $(CUR_DIR)
119
120.PHONY: uninstall_documentation
121uninstall_documentation:
122        cd $(CUR_DIR)/doc && make uninstall; cd $(CUR_DIR)
123
124.PHONY: uninstall_share
125uninstall_share:
126        cd $(CUR_DIR)/share && make uninstall; cd $(CUR_DIR)
127
128.PHONY: uninstall_dirs
129uninstall_dirs: uninstall_configuration uninstall_documentation uninstall_share uninstall_libraries
130        rmdir $(CONF_DIR)
131        rmdir $(DOC_DIR)
132        rmdir $(LANG_DIR)
133        rmdir $(LIB_DIR)
Note: See TracBrowser for help on using the repository browser.