Merge branch 'makedepend'

Signed-off-by: Antonio Niño Díaz <antonio_nd@outlook.com>
This commit is contained in:
Antonio Niño Díaz
2017-04-17 19:29:25 +01:00
3 changed files with 27 additions and 2 deletions

View File

@@ -36,6 +36,9 @@ ULONG nCurrentREPTBlockCount;
ULONG ulMacroReturnValue; ULONG ulMacroReturnValue;
extern char *tzObjectname;
extern FILE *dependfile;
/* /*
* defines for nCurrentStatus * defines for nCurrentStatus
*/ */
@@ -198,6 +201,9 @@ fstk_FindFile(char *fname)
FILE *f; FILE *f;
if ((f = fopen(fname, "rb")) != NULL || errno != ENOENT) { if ((f = fopen(fname, "rb")) != NULL || errno != ENOENT) {
if (dependfile) {
fprintf(dependfile, "%s: %s\n", tzObjectname, fname);
}
return f; return f;
} }

View File

@@ -26,6 +26,9 @@ ULONG nTotalLines, nPass, nPC, nIFDepth, nErrors;
extern int yydebug; extern int yydebug;
FILE *dependfile;
extern char *tzObjectname;
/* /*
* Option stack * Option stack
*/ */
@@ -274,7 +277,7 @@ usage(void)
{ {
printf( printf(
"Usage: rgbasm [-hvE] [-b chars] [-Dname[=value]] [-g chars] [-i path]\n" "Usage: rgbasm [-hvE] [-b chars] [-Dname[=value]] [-g chars] [-i path]\n"
" [-o outfile] [-p pad_value] file.asm\n"); " [-M dependfile] [-o outfile] [-p pad_value] file.asm\n");
exit(1); exit(1);
} }
@@ -288,6 +291,8 @@ main(int argc, char *argv[])
char *tzMainfile; char *tzMainfile;
dependfile = NULL;
cldefines_size = 32; cldefines_size = 32;
cldefines = reallocarray(cldefines, cldefines_size, cldefines = reallocarray(cldefines, cldefines_size,
2 * sizeof(void *)); 2 * sizeof(void *));
@@ -317,7 +322,7 @@ main(int argc, char *argv[])
newopt = CurrentOptions; newopt = CurrentOptions;
while ((ch = getopt(argc, argv, "b:D:g:hi:o:p:vEw")) != -1) { while ((ch = getopt(argc, argv, "b:D:g:hi:M:o:p:vEw")) != -1) {
switch (ch) { switch (ch) {
case 'b': case 'b':
if (strlen(optarg) == 2) { if (strlen(optarg) == 2) {
@@ -348,6 +353,11 @@ main(int argc, char *argv[])
case 'i': case 'i':
fstk_AddIncludePath(optarg); fstk_AddIncludePath(optarg);
break; break;
case 'M':
if ((dependfile = fopen(optarg, "w")) == NULL) {
err(1, "Could not open dependfile %s", optarg);
}
break;
case 'o': case 'o':
out_SetFileName(optarg); out_SetFileName(optarg);
break; break;
@@ -392,6 +402,10 @@ main(int argc, char *argv[])
printf("Assembling %s\n", tzMainfile); printf("Assembling %s\n", tzMainfile);
} }
if (dependfile) {
fprintf(dependfile, "%s: %s\n", tzObjectname, tzMainfile);
}
nStartClock = clock(); nStartClock = clock();
nLineNo = 1; nLineNo = 1;

View File

@@ -61,6 +61,11 @@ The
option disables this behavior. option disables this behavior.
.It Fl i Ar path .It Fl i Ar path
Add an include path. Add an include path.
.It Fl M Ar dependfile
Print
.Xr make 1
dependencies to
.Ar dependfile .
.It Fl o Ar outfile .It Fl o Ar outfile
Write an object file to the given filename. Write an object file to the given filename.
.It Fl p Ar pad_value .It Fl p Ar pad_value