Each file, for sure -- even if it's not "for sure", legally, it can't hurt. Every module of my gpl'ed programs always begins with an elaborate header comment block, summarizing the gpl and referring to COPYING in the zip file distribution. I just cut-and-paste it from one module into a new module, and then edit as required. Here's a typical example which you can use as a template, if you like. And note the eco case# -- I always officially register copyrights, and would encourage you to do the same...
/****************************************************************************
*
* Copyright(c) 2014-2017, John Forkosh Associates, Inc. All rights reserved.
* ( eco.copyright.gov -- Case# 1-5321264531 Date opened: 6/5/2017 )
* http://www.forkosh.com mailto: [email protected]
* --------------------------------------------------------------------------
* This file, gifscroll.c, is part of gifscroll, which is free software.
* You may redistribute and/or modify gifscroll under the terms of the
* GNU General Public License, version 3 or later, as published by the
* Free Software Foundation.
* gifscroll is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY, not even the implied warranty of MERCHANTABILITY.
* See the GNU General Public License for specific details.
* By using gifscroll, you warrant that you have read, understood
* and agreed to these terms and conditions, and that you possess the legal
* right and ability to enter into this agreement and to use gifscroll
* in accordance with it.
* Your gifscroll.zip distribution file should contain the file
* COPYING, an ascii text copy of the GNU General Public License,
* version 3. If not, point your browser to http://www.gnu.org/licenses/
* or write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA.
* --------------------------------------------------------------------------
*
* Purpose: o gifscroll generates an animated gif displaying a message
* like a scrolling led sign in store windows.
* See the "Notes:" below, and also
* http://www.forkosh.com/gifscroll.html
* for further details about gifscroll.
*
* Source: o gifscroll.c
*
* Functions: o The following "table of contents" lists each function
* comprising gifscroll in the order it appears in this file.
* See individual function entry points for specific comments
* about purpose, calling sequence, side effects, etc.
* =============================================================
* +---
* | gifscroll functions
* +-----------------------
* main(argc,argv) cgi driver for gifscroll
* rasterize_this(msgorpbm,type) rasterize message or pbm file
* new_raster(width,height) raster allocation and constructor
* delete_raster(rp) destructor for raster
* etc, etc
*
* --------------------------------------------------------------------------
*
* Notes: o gifscroll() presently runs on Unix and Windows
* o etc, etc
*
* --------------------------------------------------------------------------
* Revision History:
* 03/23/14 J.Forkosh Installation.
* 10/04/17 J.Forkosh Most recent revision
* See http://www.forkosh.com/gifscrollchangelog.html for further details.
*
***************************************************************************/