Browse code

core, lib, modules: restructured source code tree

- new folder src/ to hold the source code for main project applications
- main.c is in src/
- all core files are subfolder are in src/core/
- modules are in src/modules/
- libs are in src/lib/
- application Makefiles are in src/
- application binary is built in src/ (src/kamailio)

Daniel-Constantin Mierla authored on 07/12/2016 11:03:51
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,41 @@
1
+# Kamailio build system
2
+
3
+# Makefile targets that should be treated specially, 
4
+# e.g.:  non obj/executable affecting targets => don't build dependencies for
5
+#  them or don't try any action that would be useful only for generating
6
+#  actual code
7
+#
8
+
9
+ifeq (,$(strip $(modules_dirs)))
10
+include $(COREPATH)/Makefile.dirs
11
+endif
12
+
13
+clean_targets:=	clean proper distclean-old realclean maintainer-clean local-clean \
14
+				clean-all proper-all distclean-all realclean-all \
15
+				clean_cfg clean-cfg clean_modules_cfg clean-modules-cfg \
16
+				clean-modules proper-modules realclean-modules \
17
+				distclean-modules maintainer-clean-modules \
18
+				clean-utils proper-utils realclean-utils distclean-utils \
19
+				maintaner-clean-utils \
20
+				clean-libs proper-libs realclean-libs distclean-libs \
21
+				maintainer-clean-libs \
22
+				clean-tmp clean_doxygen clean-extra-names \
23
+				pure distclean
24
+doc_targets:=	README man install-doc install-man install-ser-man \
25
+		install-every-module-doc install-every-module-man \
26
+		$(foreach m,$(modules_dirs),$(m)-doc $(m)-readme $(m)-man) \
27
+		$(foreach m,$(modules_dirs),install-$(m)-doc install-$(m)-man)
28
+
29
+# auxiliary: maintance, debugging, etc. (don't affect code/objects)
30
+aux_targets:=	TAGS tar dist cfg-defs cfg config config.mak print-modules \
31
+		dbg dbinstall librpath.lst makecfg.lst modules.lst modules-cfg \
32
+		modules-list modules-lst mk-install_dirs autover.h deb
33
+# other targets that don't produce code in the current directory ("external")
34
+ext_targets:=	every-module modules-all $(modules_dirs) libs utils \
35
+		install-cfg install-utils  install-modules-all install-every-module\
36
+		$(foreach m,$(modules_dirs),install-$(m)) \
37
+		install-share
38
+
39
+# all the targets that don't require code dependecies in the current dir.
40
+nodep_targets:=	$(clean_targets) $(doc_targets) $(aux_targets) $(ext_targets)
41
+