lz_project_rules() { lz_rules="all install" } lz_project_definitions() { ntapi_lib_name=libntapi ntapi_so_name="$lz_build_dir/lib/$ntapi_lib_name$lz_dylib_ext" ntapi_a_name="$lz_build_dir/lib/$ntapi_lib_name$lz_stlib_ext" ntapi_so_def_name="$lz_build_dir/lib/$ntapi_lib_name$lz_libdef_ext" ntapi_implib_name="$lz_build_dir/lib/$ntapi_lib_name$lz_implib_ext" lz_cflags_common="-DMIDIPIX_FREESTANDING -D__NT$lz_arch_bits \ -UWIN32 -U_WIN32 -U__WIN32 -U__WIN32__ \ -UWIN64 -U_WIN64 -U__WIN64 -U__WIN64__ \ -Werror=all -fno-builtin -ffreestanding" # lz_cflags_extra="-Os -fno-stack-protector -fomit-frame-pointer -fno-unwind-tables -fno-asynchronous-unwind-tables" ntapi_so_ldflags="-shared --image-base=0x800000 \ --entry "$lz_default_underscore"__ntapi_entry@12 \ --exclude-all-symbols \ --output-def $ntapi_so_def_name \ --out-implib $ntapi_implib_name \ --subsystem=windows" lz_cflags_include_first="-I$lz_project_dir/src/internal -I$lz_project_dir/include" if [ "$MIDIPIX_ROOT"x != x ]; then lz_cflags_include_common="$lz_cflags_include_common -I$MIDIPIX_ROOT/include" fi ntapi_so_obj_list=ntapi.so.objs ntapi_so_src_list=ntapi.so.src.lst ntapi_a_obj_list=ntapi.a.objs ntapi_a_src_list=ntapi.a.src.lst } ntapi_shared() { lz_src_dirs="src" lz_cflags_step="-DNTAPI_BUILD \ -DPE_SHARED \ -DDALIST_SHARED" if ! [ "$lz_pecoff_winnt"x = yesx ]; then lz_cflags_step="$lz_cflags_step -fpic" fi lz_compile "$ntapi_so_obj_list" "$ntapi_so_src_list" "$lz_dyobj_ext" lz_link "$ntapi_so_obj_list" "$ntapi_so_src_list" "$ntapi_so_name" \ "$ntapi_so_ldflags" \ "$lz_ldflags_cmdline -lpemagine -ldalist" } ntapi_static() { lz_src_dirs="src" lz_compile "$ntapi_a_obj_list" "$ntapi_a_src_list" "$lz_stobj_ext" lz_archive "$ntapi_a_obj_list" "$ntapi_a_src_list" "$ntapi_a_name" } ntapi_install_headers() { lz_pushd $lz_project_dir cp -r -t $lz_prefix/include include/$lz_project_name lz_popd } ntapi_install_shared() { lz_pushd $lz_build_dir/lib cp -t $lz_prefix/lib $ntapi_lib_name$lz_dylib_ext cp -t $lz_prefix/lib $ntapi_lib_name$lz_implib_ext lz_popd } ntapi_install_static() { lz_pushd $lz_build_dir/lib cp -t $lz_prefix/lib $ntapi_lib_name$lz_stlib_ext lz_popd } ntapi_all() { lz_step ntapi_shared lz_step ntapi_static } ntapi_install() { lz_step ntapi_all lz_step ntapi_install_shared lz_step ntapi_install_static lz_step ntapi_install_headers }