File: compilet.c

package info (click to toggle)
icmake 6.22-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,120 kB
  • ctags: 1,045
  • sloc: ansic: 9,241; makefile: 1,138; asm: 126; sh: 124
file content (40 lines) | stat: -rw-r--r-- 901 bytes parent folder | download | duplicates (4)
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
39
40
/*
                          C O M P I L E T . C
*/

#include "icmake.h"

int compile_test()
{
    char
        buffer[100];
    BIN_HEADER_
        hdr;

    if
    (
        (flags & (f_compiler | f_preprocessor))
        ||
        !exists(dest_name)
    )
        return (1);

    if (!(fdest = fopen(dest_name, rb)))
        error(cant_read, dest_name);

    if (younger(source_name, dest_name))
        return(1);

    hdr = *readheader(fdest, version[0]);

    fseek(fdest, hdr.offset[2], SEEK_SET);  /* go to filenames area */

    while (fgets(buffer, 100, fdest))       /* read the next filename */
    {
        buffer[strlen(buffer) - 1] = 0;     /* remove \n */
        if (younger(buffer, dest_name))     /* source name is younger */
            return (1);                     /* recompilation needed */
    }

    return (0);                             /* binary file up to date */
}