patch 8.1.1684: profiling functionality is spread out

Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes #4666)
diff --git a/src/Makefile b/src/Makefile
index 9c4a428..3f91e5b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -521,6 +521,7 @@
 # gpm - For mouse support on Linux console via gpm
 # Uncomment this when you do not want to include gpm support, even
 # though you have gpm libraries and includes.
+# For Debian/Ubuntu gpm support requires the libgpm-dev package.
 #CONF_OPT_GPM = --disable-gpm
 
 # sysmouse - For mouse support on FreeBSD and DragonFly console via sysmouse
@@ -1626,6 +1627,7 @@
 	auto/pathdef.c \
 	popupmnu.c \
 	popupwin.c \
+	profiler.c \
 	pty.c \
 	quickfix.c \
 	regexp.c \
@@ -1742,6 +1744,7 @@
 	objects/pathdef.o \
 	objects/popupmnu.o \
 	objects/popupwin.o \
+	objects/profiler.o \
 	objects/pty.o \
 	objects/quickfix.o \
 	objects/regexp.o \
@@ -1883,6 +1886,7 @@
 	os_unix.pro \
 	popupmnu.pro \
 	popupwin.pro \
+	profiler.pro \
 	pty.pro \
 	quickfix.pro \
 	regexp.pro \
@@ -3222,6 +3226,9 @@
 objects/popupwin.o: popupwin.c
 	$(CCC) -o $@ popupwin.c
 
+objects/profiler.o: profiler.c
+	$(CCC) -o $@ profiler.c
+
 objects/pty.o: pty.c
 	$(CCC) -o $@ pty.c
 
@@ -3633,6 +3640,10 @@
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
  proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
  proto.h globals.h
+objects/profiler.o: profiler.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+ proto.h globals.h
 objects/pty.o: pty.c vim.h protodef.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
  proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \