NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/39217: make cleandir leaves files in src/lib/libc



>Number:         39217
>Category:       lib
>Synopsis:       make cleandir leaves files in src/lib/libc
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 27 15:20:00 +0000 2008
>Originator:     Bernd Ernesti
>Release:        NetBSD 4.99.70
>Organization:
>Environment:
System: NetBSD 4.99.70
Architecture: i386
Machine: i386
>Description:

        there are some files left after a make cleandir in the obj dir for
        src/lib/libc:
          __adjtime.S
          __clock_settime.S
          __ftruncate.S
          __lseek.S
          __mmap.S 
          __ntp_adjtime.S
          __pread.S
          __preadv.S
          __pwrite.S
          __pwritev.S
          __settimeofday.S
          __truncate.S
          _lwp_getprivate.S
          mremap.S 

        This seems to be related to the '.if exists' usage in
        src/lib/libc/sys/Makefile.inc

        I can understand why the last two files are not removed, because
        there is no CLEANFILES entry for them:
--------------
ASM_MD= _lwp_getprivate.S mremap.S

.for f in ${ASM_MD}
. if !exists(${f})
   ASM+=        ${f}
. else
   SRCS+=       ${f}
. endif
.endfor
--------------

        Adding a CLEANFILES+=${f} after ASM wouldn't work because at the
        cleanup time these two files are existing and a general CLEANFILES
        could fail on m68k who has these asm stubs.

        There is a similar problem with the other asm files which won't get
        removed, the GLUE files:
--------------
GLUE+=  adjtime.c clock_settime.c ftruncate.c \
        lseek.c mmap.c ntp_adjtime.c pread.c preadv.c pwrite.c \
        pwritev.c settimeofday.c \
        truncate.c
# 'glue' files might .c or .S depending on the architecture
.for glue in ${GLUE}
. if exists(${glue:.c=.S})
# Build the ASM glue file
SRCS+=${glue:.c=.S}
. else
.  if exists(__${glue:.c=.S})
SRCS+=__${glue:.c=.S} ${glue}
.  else
# Build the C glue file
SRCS+= ${glue}
# and an asm entry for __<syscall>
ASM_GLUE+= __${glue:.c=.S}
.  endif
. endif
.endfor
--------------

        Will this work at all with libc/arch/m68k/sys/__mmap.S because
        mmap.c exists and will be found first.
        Or am I missing something when I look at this makefile rules?

>How-To-Repeat:
        cd src/lib/libc
        make
        make cleandir
>Fix:



Home | Main Index | Thread Index | Old Index