summaryrefslogtreecommitdiff
path: root/later.c
blob: 8b407dacac115a5beb04de3b6bba60a6813e31fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>

main(argc, argv)
int argc;
char ** argv;
{
   struct stat st;
   long exe_mtime = 0;
   int verbose = 0;
   int ar;

   if( strcmp(argv[1], "+") == 0 ) { verbose++; argc--; argv++; }

   if( stat(argv[1], &st) < 0 ) 
   {
      if( verbose ) printf("%s not found\n", argv[1]);
      exit(2);
   }
   exe_mtime = st.st_mtime;

   for(ar=2; ar<argc; ar++)
   {
      if( stat(argv[ar], &st) < 0 )
      {
          printf("ERROR: dependent %d not found\n", argv[ar]);
	  exit(3);
      }
      if( exe_mtime < st.st_mtime )
      {
          if( verbose ) printf("%s out of dat wrt %s \n", argv[1], argv[ar]);
	  exit(1);
      }
   }
   exit(0);
}