Remove dependency on 'Makefile' in Makefile.direct/dj

* Makefile.direct (dyn_load_sunos53.o, gc_cpp.o, threadlibs): Remove
dependency on Makefile; remove comment.
* Makefile.dj (dyn_load_sunos53.o, gc_cpp.o, threadlibs): Likewise.
* Makefile.direct (Makefile): Remove rule.
* Makefile.direct (gc.tar): Do not include Makefile.
Do not put libatomic_ops to gc.tar by Makefile.direct

* Makefile.direct (dist gc.tar): Do not add libatomic_ops to gc.tar.
Fix file descriptor resource leak in GC_register_data_segments (OS/2)

* os_dep.c (GC_register_data_segments): Call fclose(myexefile) on
return (only if OS2).
Eliminate side effect in assertion condition in disclaim_bench
(code refactoring)

* tests/disclaim_bench.c (testobj_finalize): Move "i" field increment
out of assertion condition; replace increment with assignment.
Fix 'variable unused' warning in GC_save_callers

* os_dep.c (GC_save_callers): Do not declare "i" local variable unless
it is used.
Fix 'redundant assignment to itself' Cppcheck warning in GC_scratch_alloc

* headers.c (GC_scratch_alloc): Do not reassign "bytes_to_get" local
variable to avoid compiler warning in case of ROUNDUP_PAGESIZE_IF_MMAP
is a no-op (i.e., assign bytes_to_get only once directly to a rounded
value).
Eliminate warnings detected by Cppcheck in cord de[_win]

* cord/tests/de.c (prune_map): Remove redundant first check of map for
NULL (as "map" variable has already been dereferenced at the point of
the check).
* cord/tests/de.c (replace_line): Do not define "len" local variable
if not used; eliminate duplicate CORD_len(s) call.
* cord/tests/de_win.c (WndProc): Cast char_width and char_height
global variables to unsigned int in division of unsigned xpos, ypos
local variables.