Difference between CPPSRC and APPSOURCES

I have questions regarding the build process while compiling the particle photon firmware from the source. I am attempting to compile my user application makefile.

I created a folder called /user/applications/project. In there I created a project.mk file and am using make APP=project PRODUCT=photon. I think I am right till here.

What is confusing me is what files to compile using the CPPSRC group and what using the APPSOURCES? Is there a sample makefile for this which I can use as well.

Also, I am getting the following error while compiling - Can’t locate Archive/Zip.pm in @INC (you may need to install the Archive::Zip module) (@INC contains: blib/lib lib /usr/lib/perl5/site_perl/5.22/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.22 /usr/lib/perl5/vendor_perl/5.22/i686-cygwin-threads-64int /usr/lib/perl5/vendor_perl/5.22 /usr/lib/perl5/5.22/i686-cygwin-threads-64int /usr/lib/perl5/5.22 .) at /cygdrive/c/SW/RubyDevkit/bin/crc32 line 7.
BEGIN failed–compilation aborted at /cygdrive/c/SW/RubyDevkit/bin/crc32 line 7.

I am using Cygwin, the atollic truestudio ide and the GCC ARM launchpad build tools.

Thanks in advance.