Short: makedepend bugfixed + modified for smake Author: Todd Brunhoff, Tektronix, Inc. and MIT Project Athena Uploader: hagbardcelin gmail com (Hagbard Celine) Type: dev/c Version: 1.0.9 Architecture: m68k-amigaos This is a port of makedepend 1.0.9 from Xorg with modifications for use with smake. It is an much needed update/rewrite of my earlier port of version 1.0.8, which I must sadly admit was released in a state of "it compiles, and works for my use-case". The stack usage is dependent on organization of the files it is parsing. The binary is compiled without stackcheck/stackextend, and will crash hard if it runs out of stack. A stack of 8K seems to probably be enough in most cases as long as the system includes are excluded from the dependency-graph with the "-Y" option without a following directory. Due to the lack-of-thought that went into my previous port, some command-line options have changed and some have been removed for being useless. The main changes in this port relative to upstream are: Not Amiga-specific: -Fixed broken link detection in include.c. -Fixed broken same-file detection in include.c. -Don't stat a missing file twice if all files are in the current directory. -The "-q" option now silently ignores missing system includes. -The "-Q" option now disables all warnings. Amiga-specific: -Modified to understand Amiga paths, and not to escape the ":" character. -The default filename for output is changed to SMakefile. -Added a stack-cookie for OS3.9+ setting minimum stack to 8K. -Default defines are equivalent to: #define _AMIGA 1 #define _M68000 1 #define __SASC 1 -Added -A option to add the source file itself as the first dependency. -If object files are supplied in place of source files it will try to find the corresponding source file. Given "myfile.o" it will, in order, try to open: "myfile.c", "myfile.cxx", "myfile.cpp" and "myfile.cc". -Added "-B" option to strip the path from object files before trying to open the corresponding source file. -Added "-Oobjdir" option to strip part of the path from object files before trying to open the corresponding source file. -Added "-b" option to strip the path from object files before outputting the dependency line. -Added "-W" option to supply sourcefiles/objectfiles in a file. And after doing so, discovered that there was actually already a undocumented option for solving the same problem. I chose to ignore it as it apparently comes from gcc, and will be removed if I ever get around to converting this to understanding the command-line options of sc. -Removed the "-o" option, object-files always end in ".o". -Removed much of the not relevant for compiling-on/using-with sc/smake on Amiga code. Additionally the main differences relative to the 1.0.8 port are: -Absolute paths were not handles correctly in all cases, this should be fixed in this version. -The "-Ssourceprefix" and "-Pincprefix" options have been removed for being defective. And also for being mostly useless if correctly implemented. -It did not always back-out gracefully on failed memory allocations, this was fixed by upstream. -The objectfile path was not actually compared against the string in objdir, it just blindly cut of strlen(objdir) from the beginning of the path. It now checks if the strings matches first. Special thanks goes to Rainer Koppler who's earlier port made me able to get this to compile in the first place. And also to all the nice people at eab.abime.net for answering all my stupid programming questions.