1 { 2 'variables': { 3 'custom_malloc%' : 1, 4 }, 5 'target_defaults': { 6 'conditions': [ 7 ['custom_malloc==1', { 8 'dependencies': [ 9 'malloc', 10 ], 11 }], 12 ], 13 }, 14 'targets': [ 15 { 16 'target_name': 'main', 17 'type': 'none', 18 'dependencies': [ 'main_initial',], 19 }, 20 { 21 'target_name': 'main_initial', 22 'type': 'executable', 23 'product_name': 'main', 24 'sources': [ 'main.c' ], 25 }, 26 { 27 'target_name': 'malloc', 28 'type': 'shared_library', 29 'variables': { 30 'prune_self_dependency': 1, 31 # Targets with type 'none' won't depend on this target. 32 'link_dependency': 1, 33 }, 34 'sources': [ 'mymalloc.c' ], 35 }, 36 ], 37 } 38