Hi,

while updating the Debian VMServer from 6 to 7 I noticed that I could
not compile BOINC right away. I had to clean the source directory from
all generated files and rerun _autosetup, configure, make. That's not
what I expected. I expected that running make distclean will reset the
source directory to the state after running _autosetup and running
_autosetup again will pick up the new tools updated by the OS upgrade.

With some more investigation I found that "git clean -f -d -x" takes
care of all ignored and untracked files and resets the directory to a
safe state. But this shouldn't be necessary if the build targets clean
and distclean are working correctly.

Following the GNU convention for makefile targets
(http://www.gnu.org/prep/standards/html_node/Standard-Targets.html#Standard-Targets)
I ran some tests with a fresh copy of the boinc-v2 source. I identified
several files that can be ignored and get deleted by clean/distclean and
files that should be deleted by clean/distclean but are not.

Here is a short summary of the convention:

Files created by ./_autosetup need to be deleted in case of a system
upgrade because most likely the tools tested are updated. Those files
are not deleted via Makefile because it is a step before Makefile's exist.
Maybe adding an option to _autosetup that clears the files before
running the tests could help in this case.

What's important for building is that after running "make clean" we
should have the same files as after running "./configure" and after
running "make distclean" we should have the same files as after
"./_autosetup".

The attached textfile contains all those files in gitignore style and
surely some of them should go into .gitignore.

Could someone who wrote the _autosetup and/or build stuff enhance clean
and distclean please?

Regards
Christian
.gitignore-old
.gitignore.kate-swp

### files created by _autosetup that can be ignored by git:
## should be deleted by _autosetup itself
*.in
aclocal.m4
autom4te.cache/
compile
config.guess
config.sub
configure
depcomp
install-sh
ltmain.sh
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
missing
test-driver

### files created by configure that can be ignored by git:
Makefile
.deps/
boinc_path_config.py
pkginfo
prototype
client/scripts/boinc-client
config.h
config.log
config.status
libtool
py/Boinc/version.py
py/setup.py
stamp-h1
test/version.inc

### files created by configure but not cleaned by make distclean:
clientgui/res/Makefile
packages/generic/sea/Makefile
packages/solaris/CSW/Makefile
packages/solaris/CSW/boincclient/Makefile
packages/solaris/CSW/boincclient/pkginfo
packages/solaris/CSW/boincclient/prototype
packages/solaris/CSW/boincdevel/Makefile
packages/solaris/CSW/boincdevel/pkginfo
packages/solaris/CSW/boincdevel/prototype
packages/solaris/CSW/boinclibs/Makefile
packages/solaris/CSW/boinclibs/pkginfo
packages/solaris/CSW/boinclibs/prototype
packages/solaris/CSW/boincmanager/Makefile
packages/solaris/CSW/boincmanager/pkginfo
packages/solaris/CSW/boincmanager/prototype

### files created by make that can be ignored by git:
*.o
*.lo
*.a
*.la
.libs/
svn_version.h
# list of executables
apps/1sec
apps/concat
apps/upper_case
client/boinc
client/boinc_client
client/boinccmd
client/switcher
doc/manpages/appmgr.8
doc/manpages/boinc.1
doc/manpages/boinccmd.1
lib/crypt_prog
lib/parse_test
sched/adjust_user_priority
sched/antique_file_deleter
sched/census
sched/cgi
sched/credit_test
sched/db_dump
sched/db_purge
sched/delete_file
sched/feeder
sched/file_deleter
sched/file_upload_handler
sched/get_file
sched/make_work
sched/message_handler
sched/put_file
sched/sample_assimilator
sched/sample_bitwise_validator
sched/sample_dummy_assimilator
sched/sample_substr_validator
sched/sample_trivial_validator
sched/sample_work_generator
sched/sched_driver
sched/show_shmem
sched/single_job_assimilator
sched/size_regulator
sched/status
sched/stop
sched/transitioner
sched/trickle_credit
sched/trickle_deadline
sched/trickle_echo
sched/update_stats
sched/wu_check
tools/cancel_jobs
tools/create_work
tools/dir_hier_move
tools/dir_hier_path
tools/remote_submit_test
tools/sign_executable
vda/ssim
vda/vda
vda/vdad

### files created by make but not cleaned by make clean:
api/libboinc_api.a
api/libboinc_graphics2.a
api/libboinc_opencl.a
client/boinc
py/lib.linux-x86_64-2.7/
sched/libsched.a
svn_version.h
zip/libboinc_zip.a
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to