Subject: lib/5168: domestic/lib/libntp doesn't normally build with correct authdes.c
To: None <gnats-bugs@gnats.netbsd.org>
From: None <nathanw@MIT.EDU>
List: netbsd-bugs
Date: 03/16/1998 11:47:30
>Number:         5168
>Category:       lib
>Synopsis:       domestic/lib/libntp uses wrong authdes.c if lib/ntp built first
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people (Library Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Mar 16 08:50:00 1998
>Last-Modified:
>Originator:     Nathan J. Williams
>Organization:
	Massachvsetts Institvte of Technology
	
>Release:        NetBSD-current as of 98/3/16
>Environment:
	
System: NetBSD road-runner.mit.edu 1.3E NetBSD 1.3E (ROAD-RUNNER) #93: Sun Mar 8 00:08:12 EST 1998 nathanw@road-runner.mit.edu:/u1/usr/src/sys/arch/i386/compile/ROAD-RUNNER i386


>Description:
	The Makefile in domestic/lib/libntp uses a .PATH target to find 
sources from lib/libntp. However, it does so in a way that causes make to 
also find the compiled objects from that directory if lib/libntp is built 
first (as in a normal "make build" sequence), so the authdes.c file in 
domestic/lib/libntp isn't compiled - defeating the entire purpose of having
domestic/lib/libntp. 

>How-To-Repeat:
	Run "make build" and notice that nothing is compiled when it 
reaches domestic/lib/libntp. 

>Fix:
	Prevent make from seeing the non-source files in lib/libntp. One 
way is to amke the .PATH target more specific, as in the patch below to
domestic/lib/libntp/Makefile. This is the same trick used by 
domestic/lib/libtelnet, the other domestic lib that shares sources with the
exportable version.

*** Makefile.orig	Mon Mar 16 11:20:49 1998
--- Makefile	Mon Mar 16 11:37:31 1998
***************
*** 15,20 ****
  SRCS += version.c
  
  CPPFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR}/../../../usr.sbin/xntp/include
! .PATH: ${.CURDIR}/../../../lib/libntp
  
  .include <bsd.lib.mk>
--- 15,20 ----
  SRCS += version.c
  
  CPPFLAGS+=-DHAVE_CONFIG_H -I${.CURDIR}/../../../usr.sbin/xntp/include
! .PATH.c .PATH.h: ${.CURDIR}/../../../lib/libntp
  
  .include <bsd.lib.mk>
>Audit-Trail:
>Unformatted: