Index: head/kerberos5/lib/libasn1/Makefile =================================================================== --- head/kerberos5/lib/libasn1/Makefile (revision 295987) +++ head/kerberos5/lib/libasn1/Makefile (revision 295988) @@ -1,128 +1,123 @@ # $FreeBSD$ LIB= asn1 LDFLAGS= -Wl,--no-undefined INCS= asn1_err.h asn1-common.h heim_asn1.h der.h der-protos.h der-private.h LIBADD= com_err roken VERSION_MAP= ${.CURDIR}/version.map SRCS= asn1_err.c \ asn1_err.h \ der.c \ der_copy.c \ der_cmp.c \ der_free.c \ der_format.c \ der_get.c \ der_length.c \ der_put.c \ extra.c \ template.c \ timegm.c \ ${GEN:S/.x$/.c/:S/.hx$/.h/} CFLAGS+=-I${KRB5DIR}/lib/asn1 -I${KRB5DIR}/lib/roken -I. GEN_RFC2459= asn1_rfc2459_asn1.x rfc2459_asn1.hx rfc2459_asn1-priv.hx GEN_CMS= asn1_cms_asn1.x cms_asn1.hx cms_asn1-priv.hx GEN_K5= asn1_krb5_asn1.x krb5_asn1.hx krb5_asn1-priv.hx GEN_PKINIT= asn1_pkinit_asn1.x pkinit_asn1.hx pkinit_asn1-priv.hx GEN_PKCS8= asn1_pkcs8_asn1.x pkcs8_asn1.hx pkcs8_asn1-priv.hx GEN_PKCS9= asn1_pkcs9_asn1.x pkcs9_asn1.hx pkcs9_asn1-priv.hx GEN_PKCS12= asn1_pkcs12_asn1.x pkcs12_asn1.hx pkcs12_asn1-priv.hx GEN_DIGEST= asn1_digest_asn1.x digest_asn1.hx digest_asn1-priv.hx GEN_KX509= asn1_kx509_asn1.x kx509_asn1.hx kx509_asn1-priv.hx GEN+= ${GEN_RFC2459} GEN+= ${GEN_CMS} GEN+= ${GEN_K5} GEN+= ${GEN_PKINIT} GEN+= ${GEN_PKCS8} GEN+= ${GEN_PKCS9} GEN+= ${GEN_PKCS12} GEN+= ${GEN_DIGEST} GEN+= ${GEN_KX509} CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} *_asn1_files INCS+= krb5_asn1.h \ pkinit_asn1.h \ cms_asn1.h \ rfc2459_asn1.h \ pkcs8_asn1.h \ pkcs9_asn1.h \ pkcs12_asn1.h \ digest_asn1.h \ kx509_asn1.h .ORDER: ${GEN_CMS} ${GEN_CMS}: cms.asn1 cms.opt ${ASN1_COMPILE} --one-code-file \ --option-file=${.ALLSRC:M*.opt} ${.ALLSRC:M*.asn1} cms_asn1 .ORDER: ${GEN_RFC2459} ${GEN_RFC2459}: rfc2459.asn1 ${ASN1_COMPILE} \ --one-code-file \ --preserve-binary=TBSCertificate \ --preserve-binary=TBSCRLCertList \ --preserve-binary=Name \ --sequence=GeneralNames \ --sequence=Extensions \ --sequence=CRLDistributionPoints ${.ALLSRC:M*.asn1} rfc2459_asn1 .ORDER: ${GEN_K5} ${GEN_K5}: krb5.asn1 krb5.opt ${ASN1_COMPILE} \ --one-code-file \ --option-file=${.ALLSRC:M*.opt} \ ${.ALLSRC:M*.asn1} krb5_asn1 .ORDER: ${GEN_PKINIT} ${GEN_PKINIT}: pkinit.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} pkinit_asn1 .ORDER: ${GEN_PKCS8} ${GEN_PKCS8}: pkcs8.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} pkcs8_asn1 .ORDER: ${GEN_PKCS9} ${GEN_PKCS9}: pkcs9.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} pkcs9_asn1 .ORDER: ${GEN_PKCS12} ${GEN_PKCS12}: pkcs12.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} pkcs12_asn1 .ORDER: ${GEN_DIGEST} ${GEN_DIGEST}: digest.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} digest_asn1 .ORDER: ${GEN_KX509} ${GEN_KX509}: kx509.asn1 ${ASN1_COMPILE} --one-code-file \ ${.ALLSRC:M*.asn1} kx509_asn1 .SUFFIXES: .h .c .x .hx .x.c: ${CP} ${.IMPSRC} ${.TARGET} .hx.h: ${CP} ${.IMPSRC} ${.TARGET} -# This makefile generates a lot of its headers -# so tell bsd.sys.mk not to try and stage them before they are built. -# Note: this is rare -NO_BEFOREBUILD_INCLUDES= - .include .SUFFIXES: .h .c .x .hx .PATH: ${KRB5DIR}/lib/asn1 Index: head/kerberos5/lib/libhdb/Makefile =================================================================== --- head/kerberos5/lib/libhdb/Makefile (revision 295987) +++ head/kerberos5/lib/libhdb/Makefile (revision 295988) @@ -1,109 +1,104 @@ # $FreeBSD$ LIB= hdb LDFLAGS= -Wl,--no-undefined ${LDAPLDFLAGS} VERSION_MAP= ${KRB5DIR}/lib/hdb/version-script.map LIBADD= asn1 com_err krb5 roken sqlite3 LDADD= ${LDAPLDADD} DPADD= ${LDAPDPADD} MAN= HDB.3 hdb_entry_ex.3 MLINKS= HDB.3 hdb__del.3 \ HDB.3 hdb__get.3 \ HDB.3 hdb__put.3 \ HDB.3 hdb_auth_status.3 \ HDB.3 hdb_check_constrained_delegation.3 \ HDB.3 hdb_check_pkinit_ms_upn_match.3 \ HDB.3 hdb_check_s4u2self.3 \ HDB.3 hdb_close.3 \ HDB.3 hdb_destroy.3 \ HDB.3 hdb_fetch_kvno.3 \ HDB.3 hdb_firstkey.3 \ HDB.3 hdb_free.3 \ HDB.3 hdb_get_realms.3 \ HDB.3 hdb_lock.3 \ HDB.3 hdb_name.3 \ HDB.3 hdb_nextkey.3 \ HDB.3 hdb_open.3 \ HDB.3 hdb_password.3 \ HDB.3 hdb_remove.3 \ HDB.3 hdb_rename.3 \ HDB.3 hdb_store.3 \ HDB.3 hdb_unlock.3 INCS= hdb-protos.h \ hdb.h \ hdb_asn1.h \ hdb_err.h SRCS= common.c \ db.c \ db3.c \ dbinfo.c \ ext.c \ hdb-ldap.c \ hdb.c \ hdb_err.c \ hdb_err.h \ hdb-sqlite.c \ hdb-keytab.c \ hdb-mitdb.c \ keys.c \ keytab.c \ mkey.c \ ndbm.c \ print.c \ ${GEN:S/.x$/.c/:S/.hx$/.h/} CFLAGS+=-I${KRB5DIR}/lib/hdb -I${KRB5DIR}/lib/asn1 \ -I${KRB5DIR}/lib/roken -I${.CURDIR}/../../../contrib/sqlite3/ \ -I${KRB5DIR}/lib/krb5 \ -I. ${LDAPCFLAGS} CFLAGS+=-DHDB_DB_DIR="\"/var/heimdal\"" GEN= asn1_Salt.x \ asn1_Key.x \ asn1_Event.x \ asn1_HDBFlags.x \ asn1_GENERATION.x \ asn1_HDB_Ext_PKINIT_acl.x \ asn1_HDB_Ext_PKINIT_cert.x \ asn1_HDB_Ext_PKINIT_hash.x \ asn1_HDB_Ext_Constrained_delegation_acl.x \ asn1_HDB_Ext_Lan_Manager_OWF.x \ asn1_HDB_Ext_Password.x \ asn1_HDB_Ext_Aliases.x \ asn1_HDB_extension.x \ asn1_HDB_extensions.x \ asn1_hdb_entry.x \ asn1_hdb_entry_alias.x \ asn1_hdb_keyset.x \ hdb_asn1.hx \ hdb_asn1-priv.hx CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} hdb_asn1_files \ hdb_asn1-template.[ch]* .ORDER: ${GEN} ${GEN}: hdb.asn1 ${ASN1_COMPILE} ${.ALLSRC:M*.asn1} hdb_asn1 .SUFFIXES: .h .c .x .hx .x.c: ${CP} ${.IMPSRC} ${.TARGET} .hx.h: ${CP} ${.IMPSRC} ${.TARGET} -# This makefile generates a lot of its headers -# so tell bsd.sys.mk not to try and stage them before they are built. -# Note: this is rare -NO_BEFOREBUILD_INCLUDES= - .include .SUFFIXES: .h .c .x .hx .PATH: ${KRB5DIR}/lib/hdb ${KRB5DIR}/doc/doxyout/hdb/man/man3/ Index: head/kerberos5/lib/libheimntlm/Makefile =================================================================== --- head/kerberos5/lib/libheimntlm/Makefile (revision 295987) +++ head/kerberos5/lib/libheimntlm/Makefile (revision 295988) @@ -1,39 +1,39 @@ # $FreeBSD$ LIB= heimntlm LDFLAGS= -Wl,--no-undefined LIBADD= crypto com_err krb5 roken -SRCS= ntlm.c ntlm_err.c +SRCS= ntlm.c ntlm_err.c ntlm_err.h INCS= heimntlm.h heimntlm-protos.h ntlm_err.h CFLAGS+=-I${KRB5DIR}/lib/ntlm -I${KRB5DIR}/lib/roken VERSION_MAP= ${KRB5DIR}/lib/ntlm/version-script.map MAN= ntlm_buf.3 \ ntlm_core.3 \ ntlm_type1.3 \ ntlm_type2.3 \ ntlm_type3.3 MLINKS= ntlm_core.3 heim_ntlm_build_ntlm1_master.3 \ ntlm_core.3 heim_ntlm_build_ntlm2_master.3 \ ntlm_core.3 heim_ntlm_calculate_lm2.3 \ ntlm_core.3 heim_ntlm_calculate_ntlm1.3 \ ntlm_core.3 heim_ntlm_calculate_ntlm2.3 \ ntlm_core.3 heim_ntlm_decode_targetinfo.3 \ ntlm_core.3 heim_ntlm_encode_targetinfo.3 \ ntlm_core.3 heim_ntlm_encode_type1.3 \ ntlm_core.3 heim_ntlm_encode_type2.3 \ ntlm_core.3 heim_ntlm_encode_type3.3 \ ntlm_core.3 heim_ntlm_free_buf.3 \ ntlm_core.3 heim_ntlm_free_targetinfo.3 \ ntlm_core.3 heim_ntlm_free_type1.3 \ ntlm_core.3 heim_ntlm_free_type2.3 \ ntlm_core.3 heim_ntlm_free_type3.3 \ ntlm_core.3 heim_ntlm_keyex_unwrap.3 \ ntlm_core.3 heim_ntlm_nt_key.3 \ ntlm_core.3 heim_ntlm_ntlmv2_key.3 \ ntlm_core.3 heim_ntlm_verify_ntlm2.3 .include .PATH: ${KRB5DIR}/lib/ntlm ${KRB5DIR}/doc/doxyout/ntlm/man/man3 Index: head/kerberos5/lib/libhx509/Makefile =================================================================== --- head/kerberos5/lib/libhx509/Makefile (revision 295987) +++ head/kerberos5/lib/libhx509/Makefile (revision 295988) @@ -1,302 +1,297 @@ # $FreeBSD$ LIB= hx509 LDFLAGS= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/lib/hx509/version-script.map LIBADD= asn1 com_err crypto roken wind MAN= hx509.3 \ hx509_ca.3 \ hx509_cert.3 \ hx509_cms.3 \ hx509_crypto.3 \ hx509_env.3 \ hx509_error.3 \ hx509_keyset.3 \ hx509_lock.3 \ hx509_misc.3 \ hx509_name.3 \ hx509_peer.3 \ hx509_print.3 \ hx509_query.3 \ hx509_revoke.3 \ hx509_verify.3 MLINKS= hx509.3 hx509_context_free.3 \ hx509.3 hx509_context_init.3 \ hx509_ca.3 hx509_ca_sign.3 \ hx509_ca.3 hx509_ca_sign_self.3 \ hx509_ca.3 hx509_ca_tbs_add_crl_dp_uri.3 \ hx509_ca.3 hx509_ca_tbs_add_eku.3 \ hx509_ca.3 hx509_ca_tbs_add_san_hostname.3 \ hx509_ca.3 hx509_ca_tbs_add_san_jid.3 \ hx509_ca.3 hx509_ca_tbs_add_san_ms_upn.3 \ hx509_ca.3 hx509_ca_tbs_add_san_otherName.3 \ hx509_ca.3 hx509_ca_tbs_add_san_pkinit.3 \ hx509_ca.3 hx509_ca_tbs_add_san_rfc822name.3 \ hx509_ca.3 hx509_ca_tbs_free.3 \ hx509_ca.3 hx509_ca_tbs_init.3 \ hx509_ca.3 hx509_ca_tbs_set_ca.3 \ hx509_ca.3 hx509_ca_tbs_set_domaincontroller.3 \ hx509_ca.3 hx509_ca_tbs_set_notAfter.3 \ hx509_ca.3 hx509_ca_tbs_set_notAfter_lifetime.3 \ hx509_ca.3 hx509_ca_tbs_set_notBefore.3 \ hx509_ca.3 hx509_ca_tbs_set_proxy.3 \ hx509_ca.3 hx509_ca_tbs_set_serialnumber.3 \ hx509_ca.3 hx509_ca_tbs_set_spki.3 \ hx509_ca.3 hx509_ca_tbs_set_subject.3 \ hx509_ca.3 hx509_ca_tbs_set_template.3 \ hx509_ca.3 hx509_ca_tbs_set_unique.3 \ hx509_ca.3 hx509_ca_tbs_subject_expand.3 \ hx509_ca.3 hx509_ca_tbs_template_units.3 \ hx509_cert.3 hx509_cert_binary.3 \ hx509_cert.3 hx509_cert_check_eku.3 \ hx509_cert.3 hx509_cert_cmp.3 \ hx509_cert.3 hx509_cert_find_subjectAltName_otherName.3 \ hx509_cert.3 hx509_cert_free.3 \ hx509_cert.3 hx509_cert_get_SPKI.3 \ hx509_cert.3 hx509_cert_get_SPKI_AlgorithmIdentifier.3 \ hx509_cert.3 hx509_cert_get_attribute.3 \ hx509_cert.3 hx509_cert_get_base_subject.3 \ hx509_cert.3 hx509_cert_get_friendly_name.3 \ hx509_cert.3 hx509_cert_get_issuer.3 \ hx509_cert.3 hx509_cert_get_issuer_unique_id.3 \ hx509_cert.3 hx509_cert_get_notAfter.3 \ hx509_cert.3 hx509_cert_get_notBefore.3 \ hx509_cert.3 hx509_cert_get_serialnumber.3 \ hx509_cert.3 hx509_cert_get_subject.3 \ hx509_cert.3 hx509_cert_get_subject_unique_id.3 \ hx509_cert.3 hx509_cert_init.3 \ hx509_cert.3 hx509_cert_init_data.3 \ hx509_cert.3 hx509_cert_ref.3 \ hx509_cert.3 hx509_cert_set_friendly_name.3 \ hx509_cert.3 hx509_print_cert.3 \ hx509_cert.3 hx509_query_alloc.3 \ hx509_cert.3 hx509_query_free.3 \ hx509_cert.3 hx509_query_match_cmp_func.3 \ hx509_cert.3 hx509_query_match_eku.3 \ hx509_cert.3 hx509_query_match_friendly_name.3 \ hx509_cert.3 hx509_query_match_issuer_serial.3 \ hx509_cert.3 hx509_query_match_option.3 \ hx509_cert.3 hx509_query_statistic_file.3 \ hx509_cert.3 hx509_query_unparse_stats.3 \ hx509_cert.3 hx509_verify_ctx_f_allow_default_trustanchors.3 \ hx509_cert.3 hx509_verify_hostname.3 \ hx509_cms.3 hx509_cms_create_signed_1.3 \ hx509_cms.3 hx509_cms_envelope_1.3 \ hx509_cms.3 hx509_cms_unenvelope.3 \ hx509_cms.3 hx509_cms_unwrap_ContentInfo.3 \ hx509_cms.3 hx509_cms_verify_signed.3 \ hx509_cms.3 hx509_cms_wrap_ContentInfo.3 \ hx509_crypto.3 hx509_verify_signature.3 \ hx509_env.3 hx509_env_add.3 \ hx509_env.3 hx509_env_add_binding.3 \ hx509_env.3 hx509_env_find.3 \ hx509_env.3 hx509_env_find_binding.3 \ hx509_env.3 hx509_env_free.3 \ hx509_env.3 hx509_env_lfind.3 \ hx509_error.3 hx509_clear_error_string.3 \ hx509_error.3 hx509_err.3 \ hx509_error.3 hx509_free_error_string.3 \ hx509_error.3 hx509_get_error_string.3 \ hx509_error.3 hx509_set_error_string.3 \ hx509_error.3 hx509_set_error_stringv.3 \ hx509_keyset.3 hx509_certs_add.3 \ hx509_keyset.3 hx509_certs_append.3 \ hx509_keyset.3 hx509_certs_end_seq.3 \ hx509_keyset.3 hx509_certs_filter.3 \ hx509_keyset.3 hx509_certs_find.3 \ hx509_keyset.3 hx509_certs_free.3 \ hx509_keyset.3 hx509_certs_info.3 \ hx509_keyset.3 hx509_certs_init.3 \ hx509_keyset.3 hx509_certs_iter_f.3 \ hx509_keyset.3 hx509_certs_merge.3 \ hx509_keyset.3 hx509_certs_next_cert.3 \ hx509_keyset.3 hx509_certs_start_seq.3 \ hx509_keyset.3 hx509_certs_store.3 \ hx509_keyset.3 hx509_ci_print_names.3 \ hx509_keyset.3 hx509_get_one_cert.3 \ hx509_misc.3 hx509_free_octet_string_list.3 \ hx509_misc.3 hx509_xfree.3 \ hx509_name.3 hx509_general_name_unparse.3 \ hx509_name.3 hx509_name_binary.3 \ hx509_name.3 hx509_name_cmp.3 \ hx509_name.3 hx509_name_copy.3 \ hx509_name.3 hx509_name_expand.3 \ hx509_name.3 hx509_name_free.3 \ hx509_name.3 hx509_name_is_null_p.3 \ hx509_name.3 hx509_name_to_Name.3 \ hx509_name.3 hx509_name_to_string.3 \ hx509_name.3 hx509_parse_name.3 \ hx509_name.3 hx509_unparse_der_name.3 \ hx509_peer.3 hx509_peer_info_add_cms_alg.3 \ hx509_peer.3 hx509_peer_info_alloc.3 \ hx509_peer.3 hx509_peer_info_free.3 \ hx509_peer.3 hx509_peer_info_set_cert.3 \ hx509_peer.3 hx509_peer_info_set_cms_algs.3 \ hx509_print.3 hx509_bitstring_print.3 \ hx509_print.3 hx509_cert_keyusage_print.3 \ hx509_print.3 hx509_oid_print.3 \ hx509_print.3 hx509_oid_sprint.3 \ hx509_print.3 hx509_print_stdout.3 \ hx509_print.3 hx509_validate_cert.3 \ hx509_print.3 hx509_validate_ctx_add_flags.3 \ hx509_print.3 hx509_validate_ctx_free.3 \ hx509_print.3 hx509_validate_ctx_init.3 \ hx509_print.3 hx509_validate_ctx_set_print.3 \ hx509_revoke.3 hx509_ocsp_request.3 \ hx509_revoke.3 hx509_revoke_add_crl.3 \ hx509_revoke.3 hx509_revoke_add_ocsp.3 \ hx509_revoke.3 hx509_revoke_free.3 \ hx509_revoke.3 hx509_revoke_init.3 \ hx509_revoke.3 hx509_revoke_ocsp_print.3 \ hx509_revoke.3 hx509_revoke_verify.3 \ hx509_verify.3 hx509_context_set_missing_revoke.3 \ hx509_verify.3 hx509_crl_add_revoked_certs.3 \ hx509_verify.3 hx509_crl_alloc.3 \ hx509_verify.3 hx509_crl_free.3 \ hx509_verify.3 hx509_crl_lifetime.3 \ hx509_verify.3 hx509_crl_sign.3 \ hx509_verify.3 hx509_ocsp_verify.3 \ hx509_verify.3 hx509_verify_attach_anchors.3 \ hx509_verify.3 hx509_verify_attach_revoke.3 \ hx509_verify.3 hx509_verify_destroy_ctx.3 \ hx509_verify.3 hx509_verify_init_ctx.3 \ hx509_verify.3 hx509_verify_path.3 \ hx509_verify.3 hx509_verify_set_max_depth.3 \ hx509_verify.3 hx509_verify_set_proxy_certificate.3 \ hx509_verify.3 hx509_verify_set_strict_rfc3280_verification.3 \ hx509_verify.3 hx509_verify_set_time.3 INCS= hx509-private.h \ hx509-protos.h \ hx509.h \ hx509_err.h SRCS= ca.c \ cert.c \ cms.c \ collector.c \ crypto.c \ doxygen.c \ error.c \ env.c \ file.c \ sel.c \ sel-gram.y \ sel-lex.l \ keyset.c \ ks_dir.c \ ks_file.c \ ks_mem.c \ ks_null.c \ ks_p11.c \ ks_p12.c \ ks_keychain.c \ lock.c \ name.c \ peer.c \ print.c \ softp11.c \ req.c \ revoke.c SRCS+= hx509_err.c \ hx509_err.h SRCS+= ${GEN_OCSP:S/.x$/.c/:S/.hx$/.h/} \ ${GEN_PKCS10:S/.x$/.c/:S/.hx$/.h/} CFLAGS+=-I${KRB5DIR}/lib/hx509 CFLAGS+=-I${KRB5DIR}/lib/hx509/ref CFLAGS+=-I${KRB5DIR}/lib/asn1 CFLAGS+=-I${KRB5DIR}/lib/wind CFLAGS+=-I${KRB5DIR}/lib/roken -I. GEN_OCSP= \ asn1_OCSPBasicOCSPResponse.x \ asn1_OCSPCertID.x \ asn1_OCSPCertStatus.x \ asn1_OCSPInnerRequest.x \ asn1_OCSPKeyHash.x \ asn1_OCSPRequest.x \ asn1_OCSPResponderID.x \ asn1_OCSPResponse.x \ asn1_OCSPResponseBytes.x \ asn1_OCSPResponseData.x \ asn1_OCSPResponseStatus.x \ asn1_OCSPSignature.x \ asn1_OCSPSingleResponse.x \ asn1_OCSPTBSRequest.x \ asn1_OCSPVersion.x \ asn1_id_pkix_ocsp.x \ asn1_id_pkix_ocsp_basic.x \ asn1_id_pkix_ocsp_nonce.x \ ocsp_asn1.hx \ ocsp_asn1-priv.hx GEN_PKCS10= \ asn1_CertificationRequestInfo.x \ asn1_CertificationRequest.x \ pkcs10_asn1.hx \ pkcs10_asn1-priv.hx GEN_CRMF= \ asn1_CRMFRDNSequence.x \ asn1_CertReqMessages.x \ asn1_CertReqMsg.x \ asn1_CertRequest.x \ asn1_CertTemplate.x \ asn1_Controls.x \ asn1_PBMParameter.x \ asn1_PKMACValue.x \ asn1_POPOPrivKey.x \ asn1_POPOSigningKey.x \ asn1_POPOSigningKeyInput.x \ asn1_ProofOfPossession.x \ asn1_SubsequentMessage.x \ crmf_asn1.hx \ crmf_asn1-priv.hx GEN+= ${GEN_OCSP} GEN+= ${GEN_PKCS10} GEN+= ${GEN_CRMF} CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} ocsp_asn1_files \ pkcs10_asn1_files crmf_asn1_files ocsp_asn1-template.[ch]* \ pkcs10_asn1-template.[ch]* crmf_asn1-template.[ch]* INCS+= ocsp_asn1.h pkcs10_asn1.h crmf_asn1.h .ORDER: ${GEN_OCSP} ${GEN_OCSP}: ocsp.asn1 ocsp.opt ${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \ ${.ALLSRC:M*.asn1} ocsp_asn1 .ORDER: ${GEN_PKCS10} ${GEN_PKCS10}: pkcs10.asn1 pkcs10.opt ${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \ ${.ALLSRC:M*.asn1} pkcs10_asn1 .ORDER: ${GEN_CRMF} ${GEN_CRMF}: crmf.asn1 ${ASN1_COMPILE} ${.ALLSRC:M*.asn1} crmf_asn1 .SUFFIXES: .h .c .x .hx .x.c: ${CP} ${.IMPSRC} ${.TARGET} .hx.h: ${CP} ${.IMPSRC} ${.TARGET} -# This makefile generates a lot of its headers -# so tell bsd.sys.mk not to try and stage them before they are built. -# Note: this is rare -NO_BEFOREBUILD_INCLUDES= - .include .SUFFIXES: .h .c .x .hx .PATH: ${KRB5DIR}/lib/hx509 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/doc/doxyout/hx509/man/man3 Index: head/lib/clang/clang.build.mk =================================================================== --- head/lib/clang/clang.build.mk (revision 295987) +++ head/lib/clang/clang.build.mk (revision 295988) @@ -1,243 +1,239 @@ # $FreeBSD$ .include CLANG_SRCS= ${LLVM_SRCS}/tools/clang CFLAGS+= -I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \ -I${LLVM_SRCS}/${SRCDIR} ${INCDIR:C/^/-I${LLVM_SRCS}\//} -I. \ -I${LLVM_SRCS}/../../lib/clang/include \ -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG .if ${MK_CLANG_FULL} != "no" CFLAGS+= -DCLANG_ENABLE_ARCMT \ -DCLANG_ENABLE_STATIC_ANALYZER .endif # MK_CLANG_FULL # LLVM is not strict aliasing safe as of 12/31/2011 CFLAGS+= -fno-strict-aliasing TARGET_ARCH?= ${MACHINE_ARCH} BUILD_ARCH?= ${MACHINE_ARCH} .if ${TARGET_ARCH:Marm*hf*} != "" TARGET_ABI= gnueabihf .elif ${TARGET_ARCH:Marm*} != "" TARGET_ABI= gnueabi .else TARGET_ABI= unknown .endif TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0 BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-unknown-freebsd11.0 CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \ -DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \ -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\" CXXFLAGS+= -std=c++11 -fno-exceptions -fno-rtti CXXFLAGS.clang+= -stdlib=libc++ .PATH: ${LLVM_SRCS}/${SRCDIR} TBLGEN?= tblgen CLANG_TBLGEN?= clang-tblgen Intrinsics.inc.h: ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td ${TBLGEN} -gen-intrinsic \ -I ${LLVM_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${LLVM_SRCS}/include/llvm/IR/Intrinsics.td .for arch in \ AArch64/AArch64 ARM/ARM Mips/Mips PowerPC/PPC Sparc/Sparc X86/X86 . for hdr in \ AsmMatcher/-gen-asm-matcher \ AsmWriter1/-gen-asm-writer,-asmwriternum=1 \ AsmWriter/-gen-asm-writer \ CallingConv/-gen-callingconv \ CodeEmitter/-gen-emitter \ DAGISel/-gen-dag-isel \ DisassemblerTables/-gen-disassembler \ FastISel/-gen-fast-isel \ InstrInfo/-gen-instr-info \ MCCodeEmitter/-gen-emitter \ MCPseudoLowering/-gen-pseudo-lowering \ RegisterInfo/-gen-register-info \ SubtargetInfo/-gen-subtarget ${arch:T}Gen${hdr:H:C/$/.inc.h/}: ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td ${TBLGEN} ${hdr:T:C/,/ /g} \ -I ${LLVM_SRCS}/include -I ${LLVM_SRCS}/lib/Target/${arch:H} \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${LLVM_SRCS}/lib/Target/${arch:H}/${arch:T}.td . endfor .endfor Attrs.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-classes \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrDump.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-dump \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrHasAttributeImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-has-attribute-impl \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-impl \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-list \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrParsedAttrImpl.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-impl \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrParsedAttrKinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-kinds \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrParsedAttrList.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-parsed-attr-list \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrParserStringSwitches.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-parser-string-switches \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrPCHRead.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-pch-read \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrPCHWrite.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-pch-write \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrSpellingListIndex.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-spelling-index \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrTemplateInstantiate.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-template-instantiate \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td AttrVisitor.inc.h: ${CLANG_SRCS}/include/clang/Basic/Attr.td ${CLANG_TBLGEN} -gen-clang-attr-ast-visitor \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/Attr.td CommentCommandInfo.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td ${CLANG_TBLGEN} -gen-clang-comment-command-info \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td CommentCommandList.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentCommands.td ${CLANG_TBLGEN} -gen-clang-comment-command-list \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/AST/CommentCommands.td CommentHTMLNamedCharacterReferences.inc.h: \ ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td ${CLANG_TBLGEN} -gen-clang-comment-html-named-character-references \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/AST/CommentHTMLNamedCharacterReferences.td CommentHTMLTags.inc.h: ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td ${CLANG_TBLGEN} -gen-clang-comment-html-tags \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td CommentHTMLTagsProperties.inc.h: \ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td ${CLANG_TBLGEN} -gen-clang-comment-html-tags-properties \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/AST/CommentHTMLTags.td CommentNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td ${CLANG_TBLGEN} -gen-clang-comment-nodes \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/CommentNodes.td DeclNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td ${CLANG_TBLGEN} -gen-clang-decl-nodes \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/DeclNodes.td StmtNodes.inc.h: ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td ${CLANG_TBLGEN} -gen-clang-stmt-nodes \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/StmtNodes.td arm_neon.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td ${CLANG_TBLGEN} -gen-arm-neon \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/arm_neon.td arm_neon.inc.h: ${CLANG_SRCS}/include/clang/Basic/arm_neon.td ${CLANG_TBLGEN} -gen-arm-neon-sema \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Basic/arm_neon.td DiagnosticGroups.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td ${CLANG_TBLGEN} -gen-clang-diag-groups \ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td DiagnosticIndexName.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td ${CLANG_TBLGEN} -gen-clang-diags-index-name \ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td .for hdr in AST Analysis Comment Common Driver Frontend Lex Parse Sema Serialization Diagnostic${hdr}Kinds.inc.h: ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td ${CLANG_TBLGEN} -gen-clang-diags-defs -clang-component=${hdr} \ -I ${CLANG_SRCS}/include/clang/Basic -d ${.TARGET:C/\.h$/.d/} \ -o ${.TARGET} ${CLANG_SRCS}/include/clang/Basic/Diagnostic.td .endfor # XXX: Atrocious hack, need to clean this up later .if defined(LIB) && ${LIB} == "llvmlibdriver" Options.inc.h: ${LLVM_SRCS}/lib/LibDriver/Options.td ${TBLGEN} -gen-opt-parser-defs \ -I ${LLVM_SRCS}/include \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${LLVM_SRCS}/lib/LibDriver/Options.td .else Options.inc.h: ${CLANG_SRCS}/include/clang/Driver/Options.td ${TBLGEN} -gen-opt-parser-defs \ -I ${LLVM_SRCS}/include -I ${CLANG_SRCS}/include/clang/Driver \ -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/include/clang/Driver/Options.td .endif Checkers.inc.h: ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td ${CLANG_TBLGEN} -gen-clang-sa-checkers \ -I ${CLANG_SRCS}/include -d ${.TARGET:C/\.h$/.d/} -o ${.TARGET} \ ${CLANG_SRCS}/lib/StaticAnalyzer/Checkers/Checkers.td .if !make(depend) . for dep in ${TGHDRS:C/$/.inc.d/} . sinclude "${dep}" . endfor .endif SRCS+= ${TGHDRS:C/$/.inc.h/} CLEANFILES+= ${TGHDRS:C/$/.inc.h/} ${TGHDRS:C/$/.inc.d/} - -# if we are not doing explicit 'make depend', there is -# nothing to cause these to be generated. -beforebuild: ${SRCS:M*.inc.h} Index: head/share/mk/bsd.dep.mk =================================================================== --- head/share/mk/bsd.dep.mk (revision 295987) +++ head/share/mk/bsd.dep.mk (revision 295988) @@ -1,327 +1,336 @@ # $FreeBSD$ # # The include file handles Makefile dependencies. # # # +++ variables +++ # # CLEANDEPENDDIRS Additional directories to remove for the cleandepend # target. # # CLEANDEPENDFILES Additional files to remove for the cleandepend target. # # CTAGS A tags file generation program [gtags] # # CTAGSFLAGS Options for ctags(1) [not set] # # DEPENDFILE dependencies file [.depend] # # GTAGSFLAGS Options for gtags(1) [-o] # # HTAGSFLAGS Options for htags(1) [not set] # # MKDEP Options for ${MKDEPCMD} [not set] # # MKDEPCMD Makefile dependency list program [mkdep] # # SRCS List of source files (c, c++, assembler) # # DPSRCS List of source files which are needed for generating # dependencies, ${SRCS} are always part of it. # # +++ targets +++ # # cleandepend: # remove ${CLEANDEPENDFILES}; remove ${CLEANDEPENDDIRS} and all # contents. # # depend: # Make the dependencies for the source files, and store # them in the file ${DEPENDFILE}. # # tags: # In "ctags" mode, create a tags file for the source files. # In "gtags" mode, create a (GLOBAL) gtags file for the # source files. If HTML is defined, htags(1) is also run # after gtags(1). .if !target(____) .error bsd.dep.mk cannot be included directly. .endif CTAGS?= gtags CTAGSFLAGS?= GTAGSFLAGS?= -o HTAGSFLAGS?= _MKDEPCC:= ${CC:N${CCACHE_BIN}} # XXX: DEPFLAGS can come out once Makefile.inc1 properly passes down # CXXFLAGS. .if !empty(DEPFLAGS) _MKDEPCC+= ${DEPFLAGS} .endif MKDEPCMD?= CC='${_MKDEPCC}' mkdep DEPENDFILE?= .depend .if ${MK_DIRDEPS_BUILD} == "no" .MAKE.DEPENDFILE= ${DEPENDFILE} .endif CLEANDEPENDFILES= ${DEPENDFILE} ${DEPENDFILE}.* # Keep `tags' here, before SRCS are mangled below for `depend'. .if !target(tags) && defined(SRCS) && !defined(NO_TAGS) tags: ${SRCS} .if ${CTAGS:T} == "gtags" @cd ${.CURDIR} && ${CTAGS} ${GTAGSFLAGS} ${.OBJDIR} .if defined(HTML) @cd ${.CURDIR} && htags ${HTAGSFLAGS} -d ${.OBJDIR} ${.OBJDIR} .endif .else @${CTAGS} ${CTAGSFLAGS} -f /dev/stdout \ ${.ALLSRC:N*.h} | sed "s;${.CURDIR}/;;" > ${.TARGET} .endif .endif # Skip reading .depend when not needed to speed up tree-walks # and simple lookups. .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ make(install*) _SKIP_READ_DEPEND= 1 .if ${MK_DIRDEPS_BUILD} == "no" .MAKE.DEPENDFILE= /dev/null .endif .endif .if defined(SRCS) CLEANFILES?= .for _S in ${SRCS:N*.[dhly]} OBJS_DEPEND_GUESS.${_S:R}.o= ${_S} .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) ${_S:R}.o: ${OBJS_DEPEND_GUESS.${_S:R}.o} .endif .endfor # Lexical analyzers .for _LSRC in ${SRCS:M*.l:N*/*} .for _LC in ${_LSRC:R}.c ${_LC}: ${_LSRC} ${LEX} ${LFLAGS} -o${.TARGET} ${.ALLSRC} OBJS_DEPEND_GUESS.${_LC:R}.o= ${_LC} .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) ${_LC:R}.o: ${OBJS_DEPEND_GUESS.${_LC:R}.o} .endif SRCS:= ${SRCS:S/${_LSRC}/${_LC}/} CLEANFILES+= ${_LC} .endfor .endfor # Yacc grammars .for _YSRC in ${SRCS:M*.y:N*/*} .for _YC in ${_YSRC:R}.c SRCS:= ${SRCS:S/${_YSRC}/${_YC}/} CLEANFILES+= ${_YC} .if !empty(YFLAGS:M-d) && !empty(SRCS:My.tab.h) .ORDER: ${_YC} y.tab.h ${_YC} y.tab.h: ${_YSRC} ${YACC} ${YFLAGS} ${.ALLSRC} cp y.tab.c ${_YC} CLEANFILES+= y.tab.c y.tab.h .elif !empty(YFLAGS:M-d) .for _YH in ${_YC:R}.h .ORDER: ${_YC} ${_YH} ${_YC} ${_YH}: ${_YSRC} ${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC} SRCS+= ${_YH} CLEANFILES+= ${_YH} .endfor .else ${_YC}: ${_YSRC} ${YACC} ${YFLAGS} -o ${_YC} ${.ALLSRC} .endif OBJS_DEPEND_GUESS.${_YC:R}.o= ${_YC} .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/${DEPENDFILE}) ${_YC:R}.o: ${OBJS_DEPEND_GUESS.${_YC:R}.o} .endif .endfor .endfor # DTrace probe definitions .if ${SRCS:M*.d} CFLAGS+= -I${.OBJDIR} .endif .for _DSRC in ${SRCS:M*.d:N*/*} .for _D in ${_DSRC:R} SRCS+= ${_D}.h ${_D}.h: ${_DSRC} ${DTRACE} ${DTRACEFLAGS} -h -s ${.ALLSRC} SRCS:= ${SRCS:S/^${_DSRC}$//} OBJS+= ${_D}.o CLEANFILES+= ${_D}.h ${_D}.o ${_D}.o: ${_DSRC} ${OBJS:S/^${_D}.o$//} @rm -f ${.TARGET} ${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC:N*.h} .if defined(LIB) CLEANFILES+= ${_D}.So ${_D}.po ${_D}.So: ${_DSRC} ${SOBJS:S/^${_D}.So$//} @rm -f ${.TARGET} ${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC:N*.h} ${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$//} @rm -f ${.TARGET} ${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC:N*.h} .endif .endfor .endfor .if !empty(.MAKE.MODE:Mmeta) && empty(.MAKE.MODE:Mnofilemon) _meta_filemon= 1 .endif .if ${MK_FAST_DEPEND} == "yes" DEPEND_MP?= -MP # Handle OBJS=../somefile.o hacks. Just replace '/' rather than use :T to # avoid collisions. DEPEND_FILTER= C,/,_,g DEPENDSRCS= ${SRCS:M*.[cSC]} ${SRCS:M*.cxx} ${SRCS:M*.cpp} ${SRCS:M*.cc} .if !empty(DEPENDSRCS) DEPENDOBJS+= ${DEPENDSRCS:R:S,$,.o,} .endif DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:${DEPEND_FILTER}:C/^/${DEPENDFILE}./} DEPEND_CFLAGS+= -MD ${DEPEND_MP} -MF${DEPENDFILE}.${.TARGET:${DEPEND_FILTER}} DEPEND_CFLAGS+= -MT${.TARGET} # Skip generating or including .depend.* files if in meta+filemon mode since # it will track dependencies itself. OBJS_DEPEND_GUESS is still used though. .if !defined(_meta_filemon) .if defined(.PARSEDIR) # Only add in DEPEND_CFLAGS for CFLAGS on files we expect from DEPENDOBJS # as those are the only ones we will include. DEPEND_CFLAGS_CONDITION= !empty(DEPENDOBJS:M${.TARGET:${DEPEND_FILTER}}) CFLAGS+= ${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS}:} .else CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} .sinclude "${__depend_obj}" .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) .endif # ${MK_FAST_DEPEND} == "yes" .endif # defined(SRCS) .if ${MK_DIRDEPS_BUILD} == "yes" +# Prevent meta.autodep.mk from tracking "local dependencies". +.depend: .include # If using filemon then _EXTRADEPEND is skipped since it is not needed. .if empty(.MAKE.MODE:Mnofilemon) # this depend: bypasses that below # the dependency helps when bootstrapping depend: beforedepend ${DPSRCS} ${SRCS} afterdepend beforedepend: afterdepend: beforedepend .endif .endif # Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet. # For meta+filemon the .meta file is checked for since it is the dependency # file used. .if ${MK_FAST_DEPEND} == "yes" .for __obj in ${DEPENDOBJS:O:u} .if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ (!defined(_meta_filemon) && !exists(${.OBJDIR}/${DEPENDFILE}.${__obj})) ${__obj}: ${OBJS_DEPEND_GUESS} ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} .endif .endfor + +# Always run 'make depend' to generate dependencies early and to avoid the +# need for manually running it. The dirdeps build should only do this in +# sub-makes though since MAKELEVEL0 is for dirdeps calculations. +.if ${MK_DIRDEPS_BUILD} == "no" || ${.MAKE.LEVEL} > 0 +beforebuild: depend .endif +.endif # ${MK_FAST_DEPEND} == "yes" .if !target(depend) .if defined(SRCS) depend: beforedepend ${DEPENDFILE} afterdepend # Tell bmake not to look for generated files via .PATH .NOPATH: ${DEPENDFILE} ${DEPENDFILES_OBJS} .if ${MK_FAST_DEPEND} == "no" # Capture -include from CFLAGS. # This could be simpler with bmake :tW but needs to support fmake for MFC. _CFLAGS_INCLUDES= ${CFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g} _CXXFLAGS_INCLUDES= ${CXXFLAGS:Q:S/\\ /,/g:C/-include,/-include%/g:C/,/ /g:M-include*:C/%/ /g} # Different types of sources are compiled with slightly different flags. # Split up the sources, and filter out headers and non-applicable flags. MKDEP_CFLAGS= ${CFLAGS:M-nostdinc*} ${CFLAGS:M-[BIDU]*} ${CFLAGS:M-std=*} \ ${CFLAGS:M-ansi} ${_CFLAGS_INCLUDES} MKDEP_CXXFLAGS= ${CXXFLAGS:M-nostdinc*} ${CXXFLAGS:M-[BIDU]*} \ ${CXXFLAGS:M-std=*} ${CXXFLAGS:M-ansi} ${CXXFLAGS:M-stdlib=*} \ ${_CXXFLAGS_INCLUDES} .endif # ${MK_FAST_DEPEND} == "no" DPSRCS+= ${SRCS} # FAST_DEPEND will only generate a .depend if _EXTRADEPEND is used but # the target is created to allow 'make depend' to generate files. ${DEPENDFILE}: ${DPSRCS} .if ${MK_FAST_DEPEND} == "no" rm -f ${DEPENDFILE} .if !empty(DPSRCS:M*.[cS]) ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \ ${MKDEP_CFLAGS} ${.ALLSRC:M*.[cS]} .endif .if !empty(DPSRCS:M*.cc) || !empty(DPSRCS:M*.C) || !empty(DPSRCS:M*.cpp) || \ !empty(DPSRCS:M*.cxx) ${MKDEPCMD} -f ${DEPENDFILE} -a ${MKDEP} \ ${MKDEP_CXXFLAGS} \ ${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cpp} ${.ALLSRC:M*.cxx} .else .endif .endif # ${MK_FAST_DEPEND} == "no" .if target(_EXTRADEPEND) _EXTRADEPEND: .USE ${DEPENDFILE}: _EXTRADEPEND .endif .ORDER: ${DEPENDFILE} afterdepend .else depend: beforedepend afterdepend .endif .if !target(beforedepend) beforedepend: .else .ORDER: beforedepend ${DEPENDFILE} .ORDER: beforedepend afterdepend .endif .if !target(afterdepend) afterdepend: .endif .endif .if defined(SRCS) .if ${CTAGS:T} == "gtags" CLEANDEPENDFILES+= GPATH GRTAGS GSYMS GTAGS .if defined(HTML) CLEANDEPENDDIRS+= HTML .endif .else CLEANDEPENDFILES+= tags .endif .endif .if !target(cleandepend) cleandepend: .if !empty(CLEANDEPENDFILES) rm -f ${CLEANDEPENDFILES} .endif .if !empty(CLEANDEPENDDIRS) rm -rf ${CLEANDEPENDDIRS} .endif .endif .if !target(checkdpadd) && (defined(DPADD) || defined(LDADD)) _LDADD_FROM_DPADD= ${DPADD:R:T:C;^lib(.*)$;-l\1;g} # Ignore -Wl,--start-group/-Wl,--end-group as it might be required in the # LDADD list due to unresolved symbols _LDADD_CANONICALIZED= ${LDADD:N:R:T:C;^lib(.*)$;-l\1;g:N-Wl,--[es]*-group} checkdpadd: .if ${_LDADD_FROM_DPADD} != ${_LDADD_CANONICALIZED} @echo ${.CURDIR} @echo "DPADD -> ${_LDADD_FROM_DPADD}" @echo "LDADD -> ${_LDADD_CANONICALIZED}" .endif .endif Index: head/sys/conf/kern.post.mk =================================================================== --- head/sys/conf/kern.post.mk (revision 295987) +++ head/sys/conf/kern.post.mk (revision 295988) @@ -1,421 +1,427 @@ # $FreeBSD$ # Part of a unified Makefile for building kernels. This part includes all # the definitions that need to be after all the % directives except %RULES # and ones that act like they are part of %RULES. # # Most make variables should not be defined in this file. Instead, they # should be defined in the kern.pre.mk so that port makefiles can # override or augment them. # In case the config had a makeoptions DESTDIR... .if defined(DESTDIR) MKMODULESENV+= DESTDIR="${DESTDIR}" .endif SYSDIR?= ${S:C;^[^/];${.CURDIR}/&;} MKMODULESENV+= KERNBUILDDIR="${.CURDIR}" SYSDIR="${SYSDIR}" .if defined(CONF_CFLAGS) MKMODULESENV+= CONF_CFLAGS="${CONF_CFLAGS}" .endif .if defined(WITH_CTF) MKMODULESENV+= WITH_CTF="${WITH_CTF}" .endif # Allow overriding the kernel debug directory, so kernel and user debug may be # installed in different directories. Setting it to "" restores the historical # behavior of installing debug files in the kernel directory. KERN_DEBUGDIR?= ${DEBUGDIR} .MAIN: all .for target in all clean cleandepend cleandir clobber depend install \ obj reinstall tags ${target}: kernel-${target} .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists($S/modules) ${target}: modules-${target} modules-${target}: cd $S/modules; ${MKMODULESENV} ${MAKE} \ ${target:S/^reinstall$/install/:S/^clobber$/cleandir/} .endif .endfor # Handle ports (as defined by the user) that build kernel modules .if !defined(NO_MODULES) && defined(PORTS_MODULES) # # The ports tree needs some environment variables defined to match the new kernel # # Ports search for some dependencies in PATH, so add the location of the installed files LOCALBASE?= /usr/local # SRC_BASE is how the ports tree refers to the location of the base source files .if !defined(SRC_BASE) SRC_BASE= ${SYSDIR:H:tA} .endif # OSVERSION is used by some ports to determine build options .if !defined(OSRELDATE) # Definition copied from src/Makefile.inc1 OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \ ${MAKEOBJDIRPREFIX}${SRC_BASE}/include/osreldate.h .endif # Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF} PORTSMODULESENV=\ PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \ SRC_BASE=${SRC_BASE} \ OSVERSION=${OSRELDATE} \ WRKDIRPREFIX=${WRKDIRPREFIX} # The WRKDIR needs to be cleaned before building, and trying to change the target # with a :C pattern below results in install -> instclean all: .for __i in ${PORTS_MODULES} @${ECHO} "===> Ports module ${__i} (all)" cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B clean all .endfor .for __target in install reinstall clean ${__target}: ports-${__target} ports-${__target}: .for __i in ${PORTS_MODULES} @${ECHO} "===> Ports module ${__i} (${__target})" cd $${PORTSDIR:-/usr/ports}/${__i}; ${PORTSMODULESENV} ${MAKE} -B ${__target:C/install/deinstall reinstall/:C/reinstall/deinstall reinstall/} .endfor .endfor .endif .ORDER: kernel-install modules-install beforebuild: .PHONY kernel-all: beforebuild .WAIT ${KERNEL_KO} ${KERNEL_EXTRA} kernel-cleandir: kernel-clean kernel-cleandepend kernel-clobber: find . -maxdepth 1 ! -type d ! -name version -delete kernel-obj: .if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists($S/modules) modules: modules-all .if !defined(NO_MODULES_OBJ) modules-all modules-depend: modules-obj .endif .endif .if !defined(DEBUG) FULLKERNEL= ${KERNEL_KO} .else FULLKERNEL= ${KERNEL_KO}.full ${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.debug ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.debug \ ${FULLKERNEL} ${.TARGET} ${KERNEL_KO}.debug: ${FULLKERNEL} ${OBJCOPY} --only-keep-debug ${FULLKERNEL} ${.TARGET} install.debug reinstall.debug: gdbinit cd ${.CURDIR}; ${MAKE} ${.TARGET:R} # Install gdbinit files for kernel debugging. gdbinit: grep -v '# XXX' ${S}/../tools/debugscripts/dot.gdbinit | \ sed "s:MODPATH:${.OBJDIR}/modules:" > .gdbinit cp ${S}/../tools/debugscripts/gdbinit.kernel ${.CURDIR} .if exists(${S}/../tools/debugscripts/gdbinit.${MACHINE_CPUARCH}) cp ${S}/../tools/debugscripts/gdbinit.${MACHINE_CPUARCH} \ ${.CURDIR}/gdbinit.machine .endif .endif ${FULLKERNEL}: ${SYSTEM_DEP} vers.o @rm -f ${.TARGET} @echo linking ${.TARGET} ${SYSTEM_LD} .if !empty(MD_ROOT_SIZE_CONFIGURED) && defined(MFS_IMAGE) @sh ${S}/tools/embed_mfs.sh ${.TARGET} ${MFS_IMAGE} .endif .if ${MK_CTF} != "no" @echo ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ... @${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o .endif .if !defined(DEBUG) ${OBJCOPY} --strip-debug ${.TARGET} .endif ${SYSTEM_LD_TAIL} OBJS_DEPEND_GUESS+= assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \ ${MFILES:T:S/.m$/.h/} .if ${MK_FAST_DEPEND} == "no" && !exists(${.OBJDIR}/.depend) ${SYSTEM_OBJS}: ${OBJS_DEPEND_GUESS} .endif LNFILES= ${CFILES:T:S/.c$/.ln/} .for mfile in ${MFILES} # XXX the low quality .m.o rules gnerated by config are normally used # instead of the .m.c rules here. ${mfile:T:S/.m$/.c/}: ${mfile} ${AWK} -f $S/tools/makeobjops.awk ${mfile} -c ${mfile:T:S/.m$/.h/}: ${mfile} ${AWK} -f $S/tools/makeobjops.awk ${mfile} -h .endfor kernel-clean: rm -f *.o *.so *.So *.ko *.s eddep errs \ ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.debug \ linterrs tags vers.c \ vnode_if.c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h \ ${MFILES:T:S/.m$/.c/} ${MFILES:T:S/.m$/.h/} \ ${CLEAN} lint: ${LNFILES} ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC} 2>&1 | \ tee -a linterrs # This is a hack. BFD "optimizes" away dynamic mode if there are no # dynamic references. We could probably do a '-Bforcedynamic' mode like # in the a.out ld. For now, this works. HACK_EXTRA_FLAGS?= -shared hack.So: Makefile :> hack.c ${CC} ${HACK_EXTRA_FLAGS} -nostdlib hack.c -o hack.So rm -f hack.c # This rule stops ./assym.s in .depend from causing problems. ./assym.s: assym.s assym.s: $S/kern/genassym.sh genassym.o NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET} genassym.o: $S/$M/$M/genassym.c ${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c ${SYSTEM_OBJS} genassym.o vers.o: opt_global.h # Normal files first CFILES_NORMAL= ${CFILES:N*/cddl/*:N*fs/nfsclient/nfs_clkdtrace*:N*/compat/linuxkpi/common/*:N*/ofed/*:N*/dev/mlx5/*} SFILES_NORMAL= ${SFILES:N*/cddl/*} # We have "special" -I include paths for zfs/dtrace files in 'depend'. CFILES_CDDL= ${CFILES:M*/cddl/*} SFILES_CDDL= ${SFILES:M*/cddl/*} # We have "special" -I include paths for LinuxKPI. CFILES_LINUXKPI=${CFILES:M*/compat/linuxkpi/common/*} # We have "special" -I include paths for OFED. CFILES_OFED=${CFILES:M*/ofed/*} # We have "special" -I include paths for MLX5. CFILES_MLX5=${CFILES:M*/dev/mlx5/*} # Skip reading .depend when not needed to speed up tree-walks # and simple lookups. .if !empty(.MAKEFLAGS:M-V${_V_READ_DEPEND}) || make(obj) || make(clean*) || \ make(install*) || make(kernel-obj) || make(kernel-clean*) || \ make(kernel-install*) _SKIP_READ_DEPEND= 1 .MAKE.DEPENDFILE= /dev/null .endif kernel-depend: .depend # The argument list can be very long, so use make -V and xargs to # pass it to mkdep. _MKDEPCC:= ${CC:N${CCACHE_BIN}} SRCS= assym.s vnode_if.h ${BEFORE_DEPEND} ${CFILES} \ ${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} \ ${MFILES:T:S/.m$/.h/} DEPENDFILES= .depend .depend.* # Skip generating or including .depend.* files if in meta+filemon mode since # it will track dependencies itself. OBJS_DEPEND_GUESS is still used though. .if !empty(.MAKE.MODE:Unormal:Mmeta) && empty(.MAKE.MODE:Unormal:Mnofilemon) _meta_filemon= 1 .endif .if ${MK_FAST_DEPEND} == "yes" DEPENDOBJS+= ${SYSTEM_OBJS} genassym.o DEPENDFILES_OBJS= ${DEPENDOBJS:O:u:C/^/.depend./} DEPEND_CFLAGS+= -MD -MP -MF.depend.${.TARGET} DEPEND_CFLAGS+= -MT${.TARGET} .if !defined(_meta_filemon) .if defined(.PARSEDIR) # Only add in DEPEND_CFLAGS for CFLAGS on files we expect from DEPENDOBJS # as those are the only ones we will include. DEPEND_CFLAGS_CONDITION= !empty(DEPENDOBJS:M${.TARGET}) CFLAGS+= ${${DEPEND_CFLAGS_CONDITION}:?${DEPEND_CFLAGS}:} .else CFLAGS+= ${DEPEND_CFLAGS} .endif .if !defined(_SKIP_READ_DEPEND) .for __depend_obj in ${DEPENDFILES_OBJS} .sinclude "${__depend_obj}" .endfor .endif # !defined(_SKIP_READ_DEPEND) .endif # !defined(_meta_filemon) + +# Always run 'make depend' to generate dependencies early and to avoid the +# need for manually running it. For the kernel this is mostly a NOP since +# all dependencies are correctly added or accounted for. This is mostly to +# ensure downstream uses of kernel-depend are handled. +beforebuild: kernel-depend .endif # ${MK_FAST_DEPEND} == "yes" # Guess some dependencies for when no ${DEPENDFILE}.OBJ is generated yet. # For meta+filemon the .meta file is checked for since it is the dependency # file used. .if ${MK_FAST_DEPEND} == "yes" .for __obj in ${DEPENDOBJS:O:u} .if (defined(_meta_filemon) && !exists(${.OBJDIR}/${__obj}.meta)) || \ (!defined(_meta_filemon) && !exists(${.OBJDIR}/.depend.${__obj})) .if ${SYSTEM_OBJS:M${__obj}} ${__obj}: ${OBJS_DEPEND_GUESS} .endif ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}} .endif .endfor .endif .NOPATH: .depend ${DEPENDFILES_OBJS} .depend: .PRECIOUS ${SRCS} .if ${MK_FAST_DEPEND} == "no" rm -f ${.TARGET}.tmp # C files ${MAKE} -V CFILES_NORMAL -V SYSTEM_CFILES -V GEN_CFILES | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${CFLAGS} ${MAKE} -V CFILES_CDDL | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ZFS_CFLAGS} \ ${FBT_CFLAGS} ${DTRACE_CFLAGS} ${MAKE} -V CFILES_LINUXKPI | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp \ ${CFLAGS} ${LINUXKPI_INCLUDES} ${MAKE} -V CFILES_OFED -V CFILES_MLX5 | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp \ ${CFLAGS} ${OFEDINCLUDES} # Assembly files ${MAKE} -V SFILES_NORMAL | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ASM_CFLAGS} ${MAKE} -V SFILES_CDDL | \ CC="${_MKDEPCC}" xargs mkdep -a -f ${.TARGET}.tmp ${ZFS_ASM_CFLAGS} mv ${.TARGET}.tmp ${.TARGET} .endif _ILINKS= machine .if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64" _ILINKS+= ${MACHINE_CPUARCH} .endif .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" _ILINKS+= x86 .endif # Ensure that the link exists without depending on it when it exists. .for _link in ${_ILINKS} .if !exists(${.OBJDIR}/${_link}) ${SRCS} ${CLEAN:M*.o}: ${_link} .endif .endfor ${_ILINKS}: @case ${.TARGET} in \ machine) \ path=${S}/${MACHINE}/include ;; \ *) \ path=${S}/${.TARGET}/include ;; \ esac ; \ ${ECHO} ${.TARGET} "->" $$path ; \ ln -s $$path ${.TARGET} # .depend needs include links so we remove them only together. kernel-cleandepend: .PHONY rm -f ${DEPENDFILES} ${_ILINKS} kernel-tags: @[ -f .depend ] || { echo "you must make depend first"; exit 1; } sh $S/conf/systags.sh kernel-install: @if [ ! -f ${KERNEL_KO} ] ; then \ echo "You must build a kernel first." ; \ exit 1 ; \ fi .if exists(${DESTDIR}${KODIR}) -thiskernel=`sysctl -n kern.bootfile` ; \ if [ ! "`dirname "$$thiskernel"`" -ef ${DESTDIR}${KODIR} ] ; then \ chflags -R noschg ${DESTDIR}${KODIR} ; \ rm -rf ${DESTDIR}${KODIR} ; \ rm -rf ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ; \ else \ if [ -d ${DESTDIR}${KODIR}.old ] ; then \ chflags -R noschg ${DESTDIR}${KODIR}.old ; \ rm -rf ${DESTDIR}${KODIR}.old ; \ fi ; \ mv ${DESTDIR}${KODIR} ${DESTDIR}${KODIR}.old ; \ if [ -n "${KERN_DEBUGDIR}" -a \ -d ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ]; then \ rm -rf ${DESTDIR}${KERN_DEBUGDIR}${KODIR}.old ; \ mv ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ${DESTDIR}${KERN_DEBUGDIR}${KODIR}.old ; \ fi ; \ sysctl kern.bootfile=${DESTDIR}${KODIR}.old/"`basename "$$thiskernel"`" ; \ fi .endif mkdir -p ${DESTDIR}${KODIR} ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ .if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no" mkdir -p ${DESTDIR}${KERN_DEBUGDIR}${KODIR} ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ .endif .if defined(KERNEL_EXTRA_INSTALL) ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_EXTRA_INSTALL} ${DESTDIR}${KODIR}/ .endif kernel-reinstall: @-chflags -R noschg ${DESTDIR}${KODIR} ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO} ${DESTDIR}${KODIR}/ .if defined(DEBUG) && !defined(INSTALL_NODEBUG) && ${MK_KERNEL_SYMBOLS} != "no" ${INSTALL} -p -m 555 -o ${KMODOWN} -g ${KMODGRP} ${KERNEL_KO}.debug ${DESTDIR}${KERN_DEBUGDIR}${KODIR}/ .endif config.o env.o hints.o vers.o vnode_if.o: ${NORMAL_C} ${NORMAL_CTFCONVERT} config.ln env.ln hints.ln vers.ln vnode_if.ln: ${NORMAL_LINT} vers.c: $S/conf/newvers.sh $S/sys/param.h ${SYSTEM_DEP} MAKE=${MAKE} sh $S/conf/newvers.sh ${KERN_IDENT} vnode_if.c: $S/tools/vnode_if.awk $S/kern/vnode_if.src ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h: $S/tools/vnode_if.awk \ $S/kern/vnode_if.src vnode_if.h: vnode_if_newproto.h vnode_if_typedef.h ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -h vnode_if_newproto.h: ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -p vnode_if_typedef.h: ${AWK} -f $S/tools/vnode_if.awk $S/kern/vnode_if.src -q .if ${MFS_IMAGE:Uno} != "no" .if empty(MD_ROOT_SIZE_CONFIGURED) # Generate an object file from the file system image to embed in the kernel # via linking. Make sure the contents are in the mfs section and rename the # start/end/size variables to __start_mfs, __stop_mfs, and mfs_size, # respectively. embedfs_${MFS_IMAGE:T:R}.o: ${MFS_IMAGE} ${OBJCOPY} --input-target binary \ --output-target ${EMBEDFS_FORMAT.${MACHINE_ARCH}} \ --binary-architecture ${EMBEDFS_ARCH.${MACHINE_ARCH}} \ ${MFS_IMAGE} ${.TARGET} ${OBJCOPY} \ --rename-section .data=mfs,contents,alloc,load,readonly,data \ --redefine-sym \ _binary_${MFS_IMAGE:C,[^[:alnum:]],_,g}_size=__mfs_root_size \ --redefine-sym \ _binary_${MFS_IMAGE:C,[^[:alnum:]],_,g}_start=mfs_root \ --redefine-sym \ _binary_${MFS_IMAGE:C,[^[:alnum:]],_,g}_end=mfs_root_end \ ${.TARGET} .endif .endif # XXX strictly, everything depends on Makefile because changes to ${PROF} # only appear there, but we don't handle that. .include "kern.mk"