Blame ntapi.lzy

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