Module Name: src Committed By: jkoshy Date: Mon Apr 18 14:11:44 UTC 2022
Modified Files: src/tools/elftoolchain: Makefile Added Files: src/tools/elftoolchain/libdwarf: Makefile src/tools/elftoolchain/libelf: Makefile Log Message: Build 'libelf' and 'libdwarf' under 'tools/elftoolchain', after 'tools/elftoolchain/common' has been built. This change aligns the 'tools' build with the regular build. Subsequent commits will change 'tools/libctf' and 'tools/cft{merge,convert}' to use the new build paths. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tools/elftoolchain/Makefile cvs rdiff -u -r0 -r1.1 src/tools/elftoolchain/libdwarf/Makefile cvs rdiff -u -r0 -r1.1 src/tools/elftoolchain/libelf/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tools/elftoolchain/Makefile diff -u src/tools/elftoolchain/Makefile:1.1 src/tools/elftoolchain/Makefile:1.2 --- src/tools/elftoolchain/Makefile:1.1 Wed Apr 13 17:52:56 2022 +++ src/tools/elftoolchain/Makefile Mon Apr 18 14:11:43 2022 @@ -1,5 +1,7 @@ -# $NetBSD: Makefile,v 1.1 2022/04/13 17:52:56 jkoshy Exp $ +# $NetBSD: Makefile,v 1.2 2022/04/18 14:11:43 jkoshy Exp $ SUBDIR= common +SUBDIR+= .WAIT libelf +SUBDIR+= .WAIT libdwarf .include <bsd.subdir.mk> Added files: Index: src/tools/elftoolchain/libdwarf/Makefile diff -u /dev/null src/tools/elftoolchain/libdwarf/Makefile:1.1 --- /dev/null Mon Apr 18 14:11:44 2022 +++ src/tools/elftoolchain/libdwarf/Makefile Mon Apr 18 14:11:43 2022 @@ -0,0 +1,96 @@ +# $NetBSD: Makefile,v 1.1 2022/04/18 14:11:43 jkoshy Exp $ + +HOSTLIB=dwarf + +.include <bsd.hostinit.mk> + +SRCS= \ + dwarf_abbrev.c \ + dwarf_arange.c \ + dwarf_attr.c \ + dwarf_attrval.c \ + dwarf_cu.c \ + dwarf_dealloc.c \ + dwarf_die.c \ + dwarf_dump.c \ + dwarf_errmsg.c \ + dwarf_finish.c \ + dwarf_form.c \ + dwarf_frame.c \ + dwarf_init.c \ + dwarf_lineno.c \ + dwarf_loclist.c \ + dwarf_macinfo.c \ + dwarf_pro_arange.c \ + dwarf_pro_attr.c \ + dwarf_pro_die.c \ + dwarf_pro_expr.c \ + dwarf_pro_finish.c \ + dwarf_pro_frame.c \ + dwarf_pro_init.c \ + dwarf_pro_lineno.c \ + dwarf_pro_macinfo.c \ + dwarf_pro_reloc.c \ + dwarf_pro_sections.c \ + dwarf_ranges.c \ + dwarf_reloc.c \ + dwarf_seterror.c \ + dwarf_str.c \ + libdwarf.c \ + libdwarf_abbrev.c \ + libdwarf_arange.c \ + libdwarf_attr.c \ + libdwarf_die.c \ + libdwarf_elf_access.c \ + libdwarf_elf_init.c \ + libdwarf_error.c \ + libdwarf_frame.c \ + libdwarf_info.c \ + libdwarf_init.c \ + libdwarf_lineno.c \ + libdwarf_loc.c \ + libdwarf_loclist.c \ + libdwarf_macinfo.c \ + libdwarf_nametbl.c \ + libdwarf_ranges.c \ + libdwarf_reloc.c \ + libdwarf_rw.c \ + libdwarf_sections.c \ + libdwarf_str.c + +ELFTOOLCHAIN_DIR=${.CURDIR}/../../../external/bsd/elftoolchain/dist +LIBDWARF_DIR= ${ELFTOOLCHAIN_DIR}/libdwarf +LIBELF_DIR= ${ELFTOOLCHAIN_DIR}/libelf +COMMON_DIR= ${ELFTOOLCHAIN_DIR}/common + +INCS= dwarf.h libdwarf.h +INCSDIR= /usr/include + +.ifndef NOCOMPATLIB +COMPATLIB_NO_LIB= yes # only the include files, not the library +.-include "${TOOLDIR}/share/compat/defs.mk" +.endif + +CPPFLAGS+= -I${.CURDIR}/../../compat +CPPFLAGS+= -I${.CURDIR}/../../common +CPPFLAGS+= -I${LIBDWARF_DIR} -I${LIBELF_DIR} -I${COMMON_DIR} +CPPFLAGS+= -I${TOOLDIR}/include -I${TOOLDIR}/include/nbinclude + +BUILD_OSTYPE!= uname -s + +# Disable use of pre-compiled headers on Darwin. +.if ${BUILD_OSTYPE} == "Darwin" +CPPFLAGS+= -no-cpp-precomp +.endif + +# -D_FILE_OFFSET_BITS=64 produces a much more amenable `struct stat', and +# other file ops, on many systems, without changing function names. + +CPPFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 + +.PATH: ${LIBDWARF_DIR} + +HOST_CPPFLAGS:= ${CPPFLAGS} ${HOST_CPPFLAGS} +CPPFLAGS:= # empty + +.include <bsd.hostlib.mk> Index: src/tools/elftoolchain/libelf/Makefile diff -u /dev/null src/tools/elftoolchain/libelf/Makefile:1.1 --- /dev/null Mon Apr 18 14:11:44 2022 +++ src/tools/elftoolchain/libelf/Makefile Mon Apr 18 14:11:44 2022 @@ -0,0 +1,91 @@ +# $NetBSD: Makefile,v 1.1 2022/04/18 14:11:44 jkoshy Exp $ + +HOSTLIB= elf + +.include <bsd.hostinit.mk> + +SRCS= elf_begin.c \ + elf_cntl.c \ + elf_end.c elf_errmsg.c elf_errno.c \ + elf_data.c \ + elf_fill.c elf_flag.c \ + elf_getarhdr.c elf_getarsym.c elf_getbase.c \ + elf_getident.c \ + elf_hash.c \ + elf_kind.c \ + elf_memory.c \ + elf_next.c \ + elf_rand.c elf_rawfile.c \ + elf_phnum.c \ + elf_shnum.c elf_shstrndx.c elf_scn.c elf_strptr.c \ + elf_update.c \ + elf_version.c \ + gelf_cap.c \ + gelf_checksum.c \ + gelf_dyn.c \ + gelf_ehdr.c \ + gelf_getclass.c \ + gelf_fsize.c \ + gelf_move.c \ + gelf_phdr.c \ + gelf_rel.c gelf_rela.c \ + gelf_shdr.c gelf_sym.c gelf_syminfo.c gelf_symshndx.c \ + gelf_xlate.c \ + elf.c \ + libelf_align.c libelf_allocate.c libelf_ar.c \ + libelf_ar_util.c \ + libelf_checksum.c \ + libelf_data.c \ + libelf_ehdr.c libelf_extended.c \ + libelf_memory.c \ + libelf_open.c \ + libelf_phdr.c \ + libelf_shdr.c \ + libelf_xlate.c \ + ${LIBELF_GENSRCS} + +LIBELF_GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c + +LIBELF_DIR= ${.CURDIR}/../../../external/bsd/elftoolchain/dist/libelf +LIBELF_OBJDIR!= cd ${.CURDIR} && ${PRINTOBJDIR} + +CLEANFILES+= ${LIBELF_GENSRCS} +CPPFLAGS+= -I${.CURDIR}/../../compat +CPPFLAGS+= -I${LIBELF_DIR} -I${LIBELF_DIR}/../common +CPPFLAGS+= -I${LIBELF_OBJDIR}/../common +CPPFLAGS+= -I${TOOLDIR}/include -I${TOOLDIR}/include/nbinclude + +CPPFLAGS+= -DLIBELF_TEST_HOOKS + +libelf_convert.c: elf_types.m4 libelf_convert.m4 +libelf_fsize.c: elf_types.m4 libelf_fsize.m4 +libelf_msize.c: elf_types.m4 libelf_msize.m4 + +BUILD_OSTYPE!= uname -s + +# Disable use of pre-compiled headers on Darwin. +.if ${BUILD_OSTYPE} == "Darwin" +CPPFLAGS+= -no-cpp-precomp +.endif + +# -D_FILE_OFFSET_BITS=64 produces a much more amenable `struct stat', and +# other file ops, on many systems, without changing function names. + +CPPFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 +.ifndef NOCOMPATLIB +COMPATLIB_NO_LIB= yes # only the include files, not the library +.-include "${TOOLDIR}/share/compat/defs.mk" +.endif + +.PATH: ${LIBELF_DIR} + +HOST_CPPFLAGS:= ${CPPFLAGS} ${HOST_CPPFLAGS} +CPPFLAGS:= # empty + +.include <bsd.hostlib.mk> + +# Keep the .SUFFIXES line after the include of bsd.hostlib.mk +M4OBJDIR!= cd ${.CURDIR}/../../m4 && ${PRINTOBJDIR} +.SUFFIXES: .m4 .c +.m4.c: + ${M4OBJDIR}/m4 -D SRCDIR=${LIBELF_DIR} ${.IMPSRC} > ${.TARGET}