// File: /workspace/github_cpp_makefile_star2_O1/corecodec[P]coremake/coremake.c
// Function: preprocess_dependency_project
void preprocess_dependency_project(item* p)
{
	if (!(p->flags & FLAG_PROCESSED))
	{
		// remove not exising dependencies
		size_t i;
		item* use = item_get(p,"use",0);

		p->flags |= FLAG_PROCESSED;

		for (i=0;i<item_childcount(use);++i)
		{
			item* ref = findref(use->child[i]);
			if (!ref || (ref->flags & FLAG_REMOVED) || ref==p)
			{
				preprocess_setremoved(use->child[i]);
			}
			else
			if (stricmp(ref->parent->value,"lib")==0)
			{
				preprocess_dependency_project(ref);
				// copy use of lib's
				item_merge(use,item_find(ref,"use"),use->child[i]);

                item_merge_name(p,ref,"uselib",use->child[i]);
                item_merge_name(p,ref,"framework",use->child[i]);
                item_merge_name(p,ref,"framework_lib",use->child[i]);
                item_merge_name(p,ref,"privateframework",use->child[i]);
                item_merge_name(p,ref,"libinclude",use->child[i]);
                item_merge_name(p,ref,"libinclude_debug",use->child[i]);
                item_merge_name(p,ref,"libinclude_release",use->child[i]);
                item_merge_name(p,ref,"rpath",use->child[i]);
                item_merge_name(p,ref,"android_permission",use->child[i]);
			}
		}
	}
}

// Assembly:
testb $-0x80, 0x30(%rdi)
jne 0x6141
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0xc14e(%rip), %r14      # 0x120dc
xorl %r13d, %r13d
movq %r14, %rsi
xorl %edx, %edx
callq 0x2745
orb $-0x80, 0x30(%rbx)
movq %rax, %r15
leaq 0xd1f4(%rip), %r12      # 0x1319d
testq %r15, %r15
je 0x5fbc
movq 0x20(%r15), %rax
subq 0x18(%r15), %rax
sarq $0x3, %rax
jmp 0x5fbe
xorl %eax, %eax
cmpq %rax, %r13
jae 0x6133
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rdi
callq 0x2877
testq %rax, %rax
je 0x611e
movq %rax, %rbp
cmpq %rbx, %rax
je 0x611e
movl 0x30(%rbp), %eax
andl $0x40, %eax
jne 0x611e
movq 0x10(%rbp), %rax
movq (%rax), %rdi
movq %r12, %rsi
callq 0x2070
testl %eax, %eax
jne 0x612b
movq %rbp, %rdi
callq 0x5f6f
movq %rbp, %rdi
movq %r14, %rsi
callq 0x26b0
movq 0x18(%r15), %rcx
movq (%rcx,%r13,8), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x334b
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc27f(%rip), %rdx      # 0x122c6
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc4ff(%rip), %rdx      # 0x12560
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc4d0(%rip), %rdx      # 0x1254b
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc4c4(%rip), %rdx      # 0x12559
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc28c(%rip), %rdx      # 0x1233b
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc27d(%rip), %rdx      # 0x12346
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc274(%rip), %rdx      # 0x12357
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc46d(%rip), %rdx      # 0x1256a
callq 0x5f23
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xc459(%rip), %rdx      # 0x12570
callq 0x5f23
jmp 0x612b
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rdi
callq 0x5e49
incq %r13
jmp 0x5fa9
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq