// File: /workspace/github_cpp_makefile_star2_O3/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 0x6191
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
leaq 0xb0fe(%rip), %r14      # 0x110dc
xorl %r13d, %r13d
movq %r14, %rsi
xorl %edx, %edx
callq 0x270b
orb $-0x80, 0x30(%rbx)
movq %rax, %r15
leaq 0xc1a6(%rip), %r12      # 0x1219f
testq %r15, %r15
je 0x600c
movq 0x20(%r15), %rax
subq 0x18(%r15), %rax
sarq $0x3, %rax
jmp 0x600e
xorl %eax, %eax
cmpq %rax, %r13
jae 0x6183
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rdi
callq 0x281b
testq %rax, %rax
je 0x616e
movq %rax, %rbp
cmpq %rbx, %rax
je 0x616e
movl 0x30(%rbp), %eax
andl $0x40, %eax
jne 0x616e
movq 0x10(%rbp), %rax
movq (%rax), %rdi
movq %r12, %rsi
callq 0x2070
testl %eax, %eax
jne 0x617b
movq %rbp, %rdi
callq 0x5fbf
movq %rbp, %rdi
movq %r14, %rsi
callq 0x2694
movq 0x18(%r15), %rcx
movq (%rcx,%r13,8), %rdx
movq %r15, %rdi
movq %rax, %rsi
callq 0x334a
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb231(%rip), %rdx      # 0x112c8
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb4b1(%rip), %rdx      # 0x11562
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb482(%rip), %rdx      # 0x1154d
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb476(%rip), %rdx      # 0x1155b
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb23e(%rip), %rdx      # 0x1133d
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb22f(%rip), %rdx      # 0x11348
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb226(%rip), %rdx      # 0x11359
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb41f(%rip), %rdx      # 0x1156c
callq 0x5f73
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rcx
movq %rbx, %rdi
movq %rbp, %rsi
leaq 0xb40b(%rip), %rdx      # 0x11572
callq 0x5f73
jmp 0x617b
movq 0x18(%r15), %rax
movq (%rax,%r13,8), %rdi
callq 0x5e99
incq %r13
jmp 0x5ff9
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq