mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-02-13 19:52:20 +00:00
I called the flat view featuritis, but it turns out the dtksh build system depends on it. But it was broken, so let's make a proper version instead. This new approach does not symlink directories before make, but hardlinks files after make. To make performance tolerable, it requires a modern POSIX 'find' utility with '{} +'. bin/package, src/cmd/INIT/package.sh: - We're going to depend on 'test X -ef Y' to check if X is the same file as Y, so add that to the $min_posix checks even though it is not technically POSIX. But it's so close to universally available it doesn't really make a difference. - After 'make', create a flat view by hardlinking arch/$HOSTTYPE files, minus build system internals, onto their corresponding paths in $PACKAGEROOT. Fall back to symlinking if hardlinking fails (this would happen when crossing device boundaries). - Clean up flat view when doing clean/clobber. This is done by using 'find' to loop through the files in arch/ again and removing any root paths that are the same file as their corresponding arch/ path (this is where test X -ef Y comes in). Then delete arch/$HOSTTYPE, then delete empty directories left. - Check for the 'flat' qualifier when doing clean/clobber. If given, do not delete arch/$HOSTTYPE but only clean up the flat view and remove empty directories. src/cmd/INIT/Mamfile: - Do not create the lib/package directory. (re: beb3c64a) .gitignore: - Update.
42 lines
402 B
Text
42 lines
402 B
Text
# Project-specific files
|
|
arch
|
|
tgz
|
|
lcl
|
|
|
|
# Flat make libs, binaries, etc
|
|
/bin/.paths
|
|
/bin/crossexec
|
|
/bin/execrate
|
|
/bin/filter
|
|
/bin/iffe
|
|
/bin/ksh
|
|
/bin/mamake
|
|
/bin/proto
|
|
/bin/mktest
|
|
/bin/pty
|
|
/bin/regress
|
|
/bin/rt
|
|
/bin/shcomp
|
|
/bin/suid_exec
|
|
/fun/
|
|
/include/
|
|
/lib/file/
|
|
/lib/*.a
|
|
/man/
|
|
|
|
# Miscellaneous artefacts
|
|
*.bak
|
|
*.sav
|
|
*.old
|
|
*.orig
|
|
.*.swp
|
|
*.DS_Store
|
|
*~
|
|
.nfs*
|
|
*.tmp
|
|
*.rej
|
|
*.project
|
|
*.core
|
|
core
|
|
**/#*#
|
|
tags
|