diff options
author | ru <ru@FreeBSD.org> | 2004-01-31 08:15:57 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2004-01-31 08:15:57 +0000 |
commit | ad18fb995c808a63951fe7b1d7f0789e3260e409 (patch) | |
tree | 417a8210fba66662bdf1df5485b676fbe1a26449 /kerberos5/lib | |
parent | 56844e70af38fc60cc6e46aedb529f107dfacee5 (diff) | |
download | FreeBSD-src-ad18fb995c808a63951fe7b1d7f0789e3260e409.zip FreeBSD-src-ad18fb995c808a63951fe7b1d7f0789e3260e409.tar.gz |
Overhaul of kerberos5/ makefiles. Most significant changes are:
- Dropped support for standalone builds, this was only partially
supported anyway, and required so much magic in makefiles that
made life dangerous (e.g., by using the custom yacc rules).
- Got rid of .OBJDIR in makefiles -- makes building of individual
files possible again.
- Made the .x.c transformations -j safe.
- Reprogrammed LDADD to fix static build of some utilities that
was broken.
- Fixed LDFLAGS and DPADD in the WITH_OPENLDAP case -- positively
affects the contents of .depend files.
- Removed redundant .h's from SRCS, only kept those that are
generated.
- libkrb5/ INCS were bogusly installed again with libgssapi/.
- Made build-tools real tools with their own makefiles in
separate directories. This allows us to properly track
their dependencies, etc.
- Faster build, 21% less of makefile code!
Approved by: nectar
Reviewed by: markm
Silence on: arch
Diffstat (limited to 'kerberos5/lib')
-rw-r--r-- | kerberos5/lib/Makefile | 3 | ||||
-rw-r--r-- | kerberos5/lib/libasn1/Makefile | 86 | ||||
-rw-r--r-- | kerberos5/lib/libgssapi/Makefile | 16 | ||||
-rw-r--r-- | kerberos5/lib/libhdb/Makefile | 91 | ||||
-rw-r--r-- | kerberos5/lib/libkadm5clnt/Makefile | 16 | ||||
-rw-r--r-- | kerberos5/lib/libkadm5srv/Makefile | 15 | ||||
-rw-r--r-- | kerberos5/lib/libkafs5/Makefile | 6 | ||||
-rw-r--r-- | kerberos5/lib/libkrb5/Makefile | 19 | ||||
-rw-r--r-- | kerberos5/lib/libroken/Makefile | 24 | ||||
-rw-r--r-- | kerberos5/lib/libsl/Makefile | 11 | ||||
-rw-r--r-- | kerberos5/lib/libvers/Makefile | 23 |
11 files changed, 78 insertions, 232 deletions
diff --git a/kerberos5/lib/Makefile b/kerberos5/lib/Makefile index 0c096d68..1d07e0b 100644 --- a/kerberos5/lib/Makefile +++ b/kerberos5/lib/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ -SUBDIR= libroken libvers libasn1 libhdb libkafs5 libkrb5 libkadm5clnt libkadm5srv libsl libgssapi +SUBDIR= libasn1 libgssapi libhdb libkadm5clnt libkadm5srv \ + libkafs5 libkrb5 libroken libsl libvers .include <bsd.subdir.mk> diff --git a/kerberos5/lib/libasn1/Makefile b/kerberos5/lib/libasn1/Makefile index 6c4fa65..662ccce 100644 --- a/kerberos5/lib/libasn1/Makefile +++ b/kerberos5/lib/libasn1/Makefile @@ -10,16 +10,13 @@ SRCS= \ der_copy.c \ timegm.c \ asn1_err.c \ - ${.OBJDIR}/asn1_err.h \ - ${.OBJDIR}/krb5_asn1.h \ - ${.OBJDIR}/roken.h \ - ${GEN:S/.x/.c/g} + asn1_err.h \ + krb5_asn1.h \ + ${GEN:S/.x$/.c/} -CFLAGS+=-I${KRB5DIR}/include \ - -I${KRB5DIR}/lib/asn1 \ +CFLAGS+=-I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken \ - -I${INCLUDEOBJDIR} \ - -I${.OBJDIR} + -I. GEN= \ asn1_APOptions.x \ @@ -74,73 +71,22 @@ GEN= \ asn1_TransitedEncoding.x \ asn1_UNSIGNED.x -INCS= ${.OBJDIR}/krb5_asn1.h ${.OBJDIR}/asn1_err.h +INCS= krb5_asn1.h asn1_err.h -.include <bsd.lib.mk> +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/} krb5_asn1.h asn1_files -.PATH: ${KRB5DIR}/lib/asn1 -.PATH: ${KRB5DIR}/lib/vers -.PATH: ${KRB5DIR}/lib/roken +.ORDER: ${GEN} krb5_asn1.h +${GEN} krb5_asn1.h: k5.asn1 ../../tools/asn1_compile/asn1_compile + ../../tools/asn1_compile/asn1_compile ${.ALLSRC:M*.asn1} krb5_asn1 -beforedepend all: ${.OBJDIR}/roken.h +../../tools/asn1_compile/asn1_compile: + cd ${.CURDIR}/../../tools/asn1_compile && ${MAKE} .for I in ${GEN} -${I:S/.x/.c/}: ${I} - cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET} +${I:R}.c: ${I} + cat ${.ALLSRC} > ${.TARGET} .endfor -CLEANFILES+= ${GEN:S/.x/.c/g} krb5_asn1.h asn1_files - -${GEN} ${.OBJDIR}/krb5_asn1.h: asn1_compile k5.asn1 - ./asn1_compile ${KRB5DIR}/lib/asn1/k5.asn1 krb5_asn1 - -build-tools: make-print-version make-roken asn1_compile - -asn1_compile: \ - gen.c \ - gen_copy.c \ - gen_decode.c \ - gen_encode.c \ - gen_free.c \ - gen_glue.c \ - gen_length.c \ - hash.c \ - emalloc.c \ - main.c \ - symbol.c \ - getarg.c \ - warnerr.c \ - ${.OBJDIR}/lex.o \ - ${.OBJDIR}/parse.o \ - ${.OBJDIR}/print_version.o \ - get_window_size.c \ - strupr.c - ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.OODATE} ${LDADD} - -.ORDER: ${.OBJDIR}/roken.h ${.OBJDIR}/parse.c ${.OBJDIR}/parse.h ${.OBJDIR}/lex.c - -${.OBJDIR}/parse.o: ${.OBJDIR}/parse.c ${.OBJDIR}/roken.h - -${.OBJDIR}/lex.o: ${.OBJDIR}/lex.c ${.OBJDIR}/parse.h ${.OBJDIR}/roken.h - -${.OBJDIR}/parse.h ${.OBJDIR}/parse.c: parse.y - ${YACC} -d ${.OODATE} - cp y.tab.c parse.c - cp y.tab.h parse.h - -${.OBJDIR}/lex.c: lex.l - ${LEX} -t ${LFLAGS} ${.OODATE} > ${.TARGET} - -${.OBJDIR}/print_version.o: ${.OBJDIR}/print_version.h print_version.c \ - ${.OBJDIR}/roken.h - ${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/vers/print_version.c - -${.OBJDIR}/print_version.h: make-print-version - ./make-print-version print_version.h - -make-print-version: make-print-version.c - ${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE} +.include <bsd.lib.mk> -CLEANFILES+= ${GEN} asn1_compile lex.o parse.o parse.c parse.h \ - hdb_asn1.h make-print-version print_version.h print_version.o \ - y.tab.c y.tab.h +.PATH: ${KRB5DIR}/lib/asn1 diff --git a/kerberos5/lib/libgssapi/Makefile b/kerberos5/lib/libgssapi/Makefile index 5e3f5c6..91afe3b 100644 --- a/kerberos5/lib/libgssapi/Makefile +++ b/kerberos5/lib/libgssapi/Makefile @@ -25,7 +25,6 @@ SRCS= \ external.c \ get_mic.c \ gssapi.h \ - gssapi_locl.h \ import_name.c \ import_sec_context.c \ indicate_mechs.c \ @@ -46,24 +45,15 @@ SRCS= \ v1.c \ verify_mic.c \ wrap.c \ - address_to_krb5addr.c \ - ${.OBJDIR}/heim_err.h \ - ${.OBJDIR}/krb5_err.h \ - ${.OBJDIR}/k524_err.h + address_to_krb5addr.c CFLAGS+=-I${KRB5DIR}/lib/gssapi \ -I${KRB5DIR}/lib/krb5 \ -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken \ - -I${KRB5DIR}/lib/des \ - -I${KRB5DIR}/include \ - -I${ASN1OBJDIR} \ - -I${.OBJDIR} + -I. -INCS= gssapi.h \ - ${.OBJDIR}/heim_err.h \ - ${.OBJDIR}/krb5_err.h \ - ${.OBJDIR}/k524_err.h +INCS= gssapi.h MAN= \ gss_acquire_cred.3 \ diff --git a/kerberos5/lib/libhdb/Makefile b/kerberos5/lib/libhdb/Makefile index 91856d3..a837dab 100644 --- a/kerberos5/lib/libhdb/Makefile +++ b/kerberos5/lib/libhdb/Makefile @@ -6,8 +6,8 @@ INCS= \ hdb-private.h \ hdb-protos.h \ hdb.h \ - ${.OBJDIR}/hdb_asn1.h \ - ${.OBJDIR}/hdb_err.h + hdb_asn1.h \ + hdb_err.h SRCS= \ common.c \ @@ -20,21 +20,14 @@ SRCS= \ ndbm.c \ print.c \ hdb_err.c \ - ${.OBJDIR}/hdb_err.h \ - ${.OBJDIR}/hdb_asn1.h \ - ${.OBJDIR}/k524_err.h \ - ${.OBJDIR}/krb5_err.h \ - ${.OBJDIR}/heim_err.h \ - ${GEN:S/.x/.c/g} + hdb_err.h \ + hdb_asn1.h \ + ${GEN:S/.x$/.c/} -CFLAGS+=-I${KRB5DIR}/include \ - -I${INCLUDEOBJDIR} \ - -I${KRB5DIR}/lib/krb5 \ - -I${KRB5DIR}/lib/hdb \ +CFLAGS+=-I${KRB5DIR}/lib/hdb \ -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken \ - -I${.OBJDIR} \ - -I${ASN1OBJDIR} \ + -I. \ ${LDAPCFLAGS} GEN= \ @@ -45,70 +38,20 @@ GEN= \ asn1_hdb_entry.x \ asn1_Salt.x -.include <bsd.lib.mk> +CLEANFILES= ${GEN} ${GEN:S/.x$/.c/} hdb_asn1.h asn1_files -.PATH: ${KRB5DIR}/lib/hdb -.PATH: ${KRB5DIR}/lib/asn1 -.PATH: ${KRB5DIR}/lib/vers -.PATH: ${KRB5DIR}/lib/roken +.ORDER: ${GEN} hdb_asn1.h +${GEN} hdb_asn1.h: hdb.asn1 ../../tools/asn1_compile/asn1_compile + ../../tools/asn1_compile/asn1_compile ${.ALLSRC:M*.asn1} hdb_asn1 -build-tools: make-print-version asn1_compile +../../tools/asn1_compile/asn1_compile: + cd ${.CURDIR}/../../tools/asn1_compile && ${MAKE} .for I in ${GEN} -${I:S/.x/.c/}: ${I} - cmp -s ${.OODATE} ${.TARGET} 2> /dev/null || cp ${.OODATE} ${.TARGET} +${I:R}.c: ${I} + cat ${.ALLSRC} > ${.TARGET} .endfor -CLEANFILES+= ${GEN:S/.x/.c/g} hdb_asn1.h asn1_files - -${GEN} ${.OBJDIR}/hdb_asn1.h: asn1_compile hdb.asn1 - ./asn1_compile ${KRB5DIR}/lib/hdb/hdb.asn1 hdb_asn1 - -asn1_compile: \ - gen.c \ - gen_copy.c \ - gen_decode.c \ - gen_encode.c \ - gen_free.c \ - gen_glue.c \ - gen_length.c \ - hash.c \ - emalloc.c \ - main.c \ - symbol.c \ - getarg.c \ - warnerr.c \ - ${.OBJDIR}/lex.o \ - ${.OBJDIR}/parse.o \ - ${.OBJDIR}/print_version.o \ - get_window_size.c \ - strupr.c - ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.OODATE} ${LDADD} - -.ORDER: ${.OBJDIR}/roken.h ${.OBJDIR}/parse.c ${.OBJDIR}/parse.h ${.OBJDIR}/lex.c - -${.OBJDIR}/parse.o: ${.OBJDIR}/parse.c ${.OBJDIR}/roken.h - -${.OBJDIR}/lex.o: ${.OBJDIR}/lex.c ${.OBJDIR}/parse.h ${.OBJDIR}/roken.h - -${.OBJDIR}/parse.h ${.OBJDIR}/parse.c: parse.y - ${YACC} -d ${.OODATE} - cp y.tab.c parse.c - cp y.tab.h parse.h - -${.OBJDIR}/lex.c: lex.l - ${LEX} -t ${LFLAGS} ${.OODATE} > ${.TARGET} - -${.OBJDIR}/print_version.o: ${.OBJDIR}/print_version.h print_version.c \ - ${.OBJDIR}/roken.h - ${CC} ${CFLAGS} -c -o ${.TARGET} ${KRB5DIR}/lib/vers/print_version.c - -${.OBJDIR}/print_version.h: make-print-version - ./make-print-version print_version.h - -make-print-version: make-print-version.c - ${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE} +.include <bsd.lib.mk> -CLEANFILES+= ${GEN} asn1_compile lex.o parse.o parse.c parse.h \ - hdb_asn1.h make-print-version print_version.h print_version.o \ - y.tab.c y.tab.h +.PATH: ${KRB5DIR}/lib/hdb diff --git a/kerberos5/lib/libkadm5clnt/Makefile b/kerberos5/lib/libkadm5clnt/Makefile index 6547192..ea87af3 100644 --- a/kerberos5/lib/libkadm5clnt/Makefile +++ b/kerberos5/lib/libkadm5clnt/Makefile @@ -6,7 +6,7 @@ INCS= \ admin.h \ kadm5-private.h \ kadm5-protos.h \ - ${.OBJDIR}/kadm5_err.h \ + kadm5_err.h \ private.h INCSDIR=${INCLUDEDIR}/kadm5 @@ -29,20 +29,12 @@ SRCS= \ rename_c.c \ send_recv.c \ client_glue.c \ - admin.h \ - private.h \ - kadm5_locl.h \ - ${.OBJDIR}/kadm5_err.h + kadm5_err.h -CFLAGS+=-I${KRB5DIR}/include \ - -I${KRB5DIR}/lib/krb5 \ - -I${KRB5DIR}/lib/kadm5 \ - -I${KRB5DIR}/lib/hdb \ +CFLAGS+=-I${KRB5DIR}/lib/kadm5 \ -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken \ - -I${ASN1OBJDIR} \ - -I${HDBOBJDIR} \ - -I${.OBJDIR} + -I. .include <bsd.lib.mk> diff --git a/kerberos5/lib/libkadm5srv/Makefile b/kerberos5/lib/libkadm5srv/Makefile index e5942ee..9e31561 100644 --- a/kerberos5/lib/libkadm5srv/Makefile +++ b/kerberos5/lib/libkadm5srv/Makefile @@ -29,21 +29,12 @@ SRCS= \ set_keys.c \ set_modifier.c \ password_quality.c \ - server_glue.c \ - admin.h \ - kadm5_locl.h \ - private.h \ - ${.OBJDIR}/kadm5_err.h + server_glue.c -CFLAGS+=-I${KRB5DIR}/include \ - -I${KRB5DIR}/lib/krb5 \ - -I${KRB5DIR}/lib/kadm5 \ - -I${KRB5DIR}/lib/hdb \ +CFLAGS+=-I${KRB5DIR}/lib/kadm5 \ -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken \ - -I${ASN1OBJDIR} \ - -I${HDBOBJDIR} \ - -I${.OBJDIR} + -I. .include <bsd.lib.mk> diff --git a/kerberos5/lib/libkafs5/Makefile b/kerberos5/lib/libkafs5/Makefile index d0d8da3..0306103 100644 --- a/kerberos5/lib/libkafs5/Makefile +++ b/kerberos5/lib/libkafs5/Makefile @@ -2,12 +2,8 @@ LIB= kafs5 CFLAGS+=-I${KRB5DIR}/lib/kafs \ - -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/krb5 \ - -I${KRB5DIR}/lib/roken \ - -I${KRB5DIR}/include \ - -I${KRB5OBJDIR} \ - -I${ASN1OBJDIR} + -I${KRB5DIR}/lib/roken INCS= kafs.h SRCS= afssys.c afskrb5.c common.c diff --git a/kerberos5/lib/libkrb5/Makefile b/kerberos5/lib/libkrb5/Makefile index 8c58d45..7f3fc59 100644 --- a/kerberos5/lib/libkrb5/Makefile +++ b/kerberos5/lib/libkrb5/Makefile @@ -99,23 +99,20 @@ SRCS= \ krb5_err.c \ k524_err.c \ heim_err.c \ - ${.OBJDIR}/k524_err.h \ - ${.OBJDIR}/heim_err.h + k524_err.h \ + heim_err.h CFLAGS+=-I${KRB5DIR}/lib/krb5 \ -I${KRB5DIR}/lib/asn1 \ - -I${KRB5DIR}/lib/des \ -I${KRB5DIR}/lib/roken \ - -I${KRB5DIR}/include \ - -I${KRB5OBJDIR} \ - -I${ASN1OBJDIR} + -I. INCS= krb5.h \ krb5-protos.h \ - ${.CURDIR}/../../include/krb5-types.h \ - ${.OBJDIR}/heim_err.h \ - ${.OBJDIR}/krb5_err.h \ - ${.OBJDIR}/k524_err.h + krb5-types.h \ + heim_err.h \ + krb5_err.h \ + k524_err.h MAN= \ krb5.3 \ @@ -323,4 +320,4 @@ MLINKS= \ .include <bsd.lib.mk> .PATH: ${KRB5DIR}/lib/krb5 -.PATH: ${KRB5DIR}/lib/des +.PATH: ${.CURDIR}/../../include diff --git a/kerberos5/lib/libroken/Makefile b/kerberos5/lib/libroken/Makefile index 5572a3c..d145a55 100644 --- a/kerberos5/lib/libroken/Makefile +++ b/kerberos5/lib/libroken/Makefile @@ -33,7 +33,6 @@ SRCS= \ resolve.c \ roken_gethostby.c \ rtbl.c \ - rtbl.h \ signal.c \ simple_exec.c \ snprintf.c \ @@ -46,25 +45,28 @@ SRCS= \ vis.c \ warnerr.c \ write_pid.c \ - xdbm.h \ copyhostent.c \ strlwr.c \ strndup.c \ strnlen.c \ strsep_copy.c \ strupr.c \ - ${.OBJDIR}/roken.h + roken.h -CFLAGS+=-I${KRB5DIR}/include \ - -I${INCLUDEOBJDIR} \ - -I${KRB5DIR}/lib/roken \ - -I${.OBJDIR} +CFLAGS+=-I${KRB5DIR}/lib/roken \ + -I. -INCS= ${.OBJDIR}/roken.h \ - ${KRB5DIR}/lib/roken/roken-common.h +INCS= roken.h \ + roken-common.h + +roken.h: ../../tools/make-roken/make-roken + ../../tools/make-roken/make-roken > ${.TARGET} + +../../tools/make-roken/make-roken: + cd ${.CURDIR}/../../tools/make-roken && ${MAKE} + +CLEANFILES= roken.h .include <bsd.lib.mk> .PATH: ${KRB5DIR}/lib/roken - -build-tools: make-roken diff --git a/kerberos5/lib/libsl/Makefile b/kerberos5/lib/libsl/Makefile index e192f10..e94584d 100644 --- a/kerberos5/lib/libsl/Makefile +++ b/kerberos5/lib/libsl/Makefile @@ -2,19 +2,12 @@ LIB= sl -SRCS= \ - sl.c \ - ${.OBJDIR}/roken.h +SRCS= sl.c -CFLAGS+=-I${KRB5DIR}/lib/sl \ - -I${KRB5DIR}/lib/roken \ - -I${KRB5DIR}/include \ - -I${.OBJDIR} +CFLAGS+=-I${KRB5DIR}/lib/sl INTERNALLIB= yes .include <bsd.lib.mk> .PATH: ${KRB5DIR}/lib/sl - -build-tools: make-roken diff --git a/kerberos5/lib/libvers/Makefile b/kerberos5/lib/libvers/Makefile index 46d9623..73c877a 100644 --- a/kerberos5/lib/libvers/Makefile +++ b/kerberos5/lib/libvers/Makefile @@ -4,25 +4,20 @@ LIB= vers SRCS= \ print_version.c \ - ${.OBJDIR}/print_version.h + print_version.h -CFLAGS+=-I${KRB5DIR}/include \ - -I${ROKENOBJDIR} \ - -I${KRB5DIR}/lib/roken \ - -I${.OBJDIR} +CFLAGS+=-I. INTERNALLIB= YES -.include <bsd.lib.mk> - -.PATH: ${KRB5DIR}/lib/vers +print_version.h: ../../tools/make-print-version/make-print-version + ../../tools/make-print-version/make-print-version ${.TARGET} -build-tools: make-print-version +../../tools/make-print-version/make-print-version: + cd ${.CURDIR}/../../tools/make-print-version && ${MAKE} -${.OBJDIR}/print_version.h: make-print-version - ./make-print-version print_version.h +CLEANFILES= print_version.h -make-print-version: make-print-version.c - ${CC} ${CFLAGS} -static -o ${.TARGET} ${.OODATE} +.include <bsd.lib.mk> -CLEANFILES+= make-print-version print_version.h +.PATH: ${KRB5DIR}/lib/vers |