diff --git a/tools/chunks/catchunks/ndncatchunks.cpp b/tools/chunks/catchunks/main.cpp
similarity index 99%
rename from tools/chunks/catchunks/ndncatchunks.cpp
rename to tools/chunks/catchunks/main.cpp
index 1405b23..737f2aa 100644
--- a/tools/chunks/catchunks/ndncatchunks.cpp
+++ b/tools/chunks/catchunks/main.cpp
@@ -46,7 +46,7 @@
 namespace chunks {
 
 static int
-main(int argc, char** argv)
+main(int argc, char* argv[])
 {
   std::string programName(argv[0]);
   Options options;
@@ -305,7 +305,7 @@
 } // namespace ndn
 
 int
-main(int argc, char** argv)
+main(int argc, char* argv[])
 {
   return ndn::chunks::main(argc, argv);
 }
diff --git a/tools/chunks/putchunks/ndnputchunks.cpp b/tools/chunks/putchunks/main.cpp
similarity index 97%
rename from tools/chunks/putchunks/ndnputchunks.cpp
rename to tools/chunks/putchunks/main.cpp
index ce3b88e..f5e6a34 100644
--- a/tools/chunks/putchunks/ndnputchunks.cpp
+++ b/tools/chunks/putchunks/main.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2016-2017, Regents of the University of California,
+ * Copyright (c) 2016-2019, Regents of the University of California,
  *                          Colorado State University,
  *                          University Pierre & Marie Curie, Sorbonne University.
  *
@@ -47,7 +47,7 @@
 }
 
 static int
-main(int argc, char** argv)
+main(int argc, char* argv[])
 {
   std::string programName = argv[0];
   std::string prefix;
@@ -150,7 +150,7 @@
 } // namespace ndn
 
 int
-main(int argc, char** argv)
+main(int argc, char* argv[])
 {
   return ndn::chunks::main(argc, argv);
 }
diff --git a/tools/chunks/wscript b/tools/chunks/wscript
index a6b2ead..417bbf6 100644
--- a/tools/chunks/wscript
+++ b/tools/chunks/wscript
@@ -5,24 +5,24 @@
 
     bld.objects(
         target='ndncatchunks-objects',
-        source=bld.path.ant_glob('catchunks/*.cpp', excl='catchunks/ndncatchunks.cpp'),
+        source=bld.path.ant_glob('catchunks/*.cpp', excl='catchunks/main.cpp'),
         use='core-objects')
 
     bld.program(
         target='../../bin/ndncatchunks',
         name='ndncatchunks',
-        source='catchunks/ndncatchunks.cpp',
+        source='catchunks/main.cpp',
         use='ndncatchunks-objects')
 
     bld.objects(
         target='ndnputchunks-objects',
-        source=bld.path.ant_glob('putchunks/*.cpp', excl='putchunks/ndnputchunks.cpp'),
+        source=bld.path.ant_glob('putchunks/*.cpp', excl='putchunks/main.cpp'),
         use='core-objects')
 
     bld.program(
         target='../../bin/ndnputchunks',
         name='ndnputchunks',
-        source='putchunks/ndnputchunks.cpp',
+        source='putchunks/main.cpp',
         use='ndnputchunks-objects')
 
     ## (for unit tests)
