āĻāĻāĻŋ āĻšāĻ˛ makepp_cookbook āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻ¨āĻžāĻŽā§āĻ˛ā§āĻ¯ā§āĻ° āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻā§āĻļāĻ¨ āĻ¯ā§āĻŽāĻ¨ āĻāĻŦā§āĻ¨ā§āĻā§ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻĢā§āĻĄā§āĻ°āĻž āĻ āĻ¨āĻ˛āĻžāĻāĻ¨, āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦāĻž MAC OS āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§āĻ¸ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ¤ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻā§āĻ°āĻŽ:
NAME āĻāĻ°
makepp_cookbook -- āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻ°āĻž āĻāĻĒāĻžāĻ¯āĻŧ
āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ
āĻāĻŽāĻŋ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻ¯ā§ āĻāĻžāĻ°ā§āĻ¯āĻ¤ āĻā§āĻ āĻāĻāĻ¨āĻ āĻāĻāĻāĻŋ āĻŽā§āĻ āĻā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒāĻĄāĻŧā§ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻā§āĻ˛āĻžāĻā§āĻ˛āĻŋāĻāĻžāĻŦā§
āĻā§āĻ āĻ¨āĻŋāĻā§āĻ āĻŽā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻāĻā§āĻ°āĻšā§ āĻ¨āĻ¯āĻŧ-- āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§ āĻāĻā§āĻ°āĻšā§āĨ¤
āĻ¤āĻžāĻ āĻāĻ āĻ°āĻžāĻ¨ā§āĻ¨āĻžāĻ° āĻŦāĻāĻāĻŋ āĻāĻ āĻāĻļāĻžāĻ¯āĻŧ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯ā§ āĻ˛ā§āĻā§āĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻĒā§āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§
āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ wading āĻāĻžāĻĄāĻŧāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§āĻā§ āĻĻā§āĻ°ā§āĻ¤. āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻāĻĒ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻāĻžāĻ¯āĻŧ
āĻĒā§āĻ°āĻļā§āĻ¨, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŦāĻ āĻšā§āĻāĻāĻ āĻāĻžāĻāĻ¯āĻŧāĻž āĻŦā§āĻ˛āĻ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻ¸āĻāĻ°āĻžāĻāĻ° āĻāĻŋāĻā§āĻāĻžāĻ¸ā§āĻ¯.
āĻāĻŦāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ
Do āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ a āĻā§āĻ°āĻ¨ā§āĻĨāĻžāĻāĻžāĻ°?
āĻāĻŽāĻŋ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻĄāĻŧ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĻā§āĻā§āĻāĻŋ āĻ¯āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§
āĻ¯āĻž āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĨāĻžāĻā§āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ°āĻžāĻāĻž āĻšāĻ¯āĻŧ,
āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°ā§āĨ¤
āĻ āĻ¨ā§āĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻŋ āĻŽāĻ¨ā§ āĻāĻ°āĻŋ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻā§āĨ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ
āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻŽāĻĄāĻŋāĻāĻ˛ā§ āĻĒā§āĻ¨āĻāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻŦāĻž āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻ¸āĻ āĻŋāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¨āĻ¯āĻŧ
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ, āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻĒāĻžāĻŦā§āĻ¨ āĻāĻŦāĻ āĻāĻ° āĻā§āĻ¨āĻāĻŋāĻ āĻĒāĻžāĻŦā§āĻ¨ āĻ¨āĻž
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻĻāĻŋ. āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĻāĻ°āĻāĻžāĻ°ā§:
1. āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻā§āĻā§āĻ āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻĨāĻžāĻā§ āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ, āĻāĻŦāĻ āĻā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ¸āĻ˛ā§ 100% āĻ¸āĻžāĻŦāĻ°ā§āĻāĻŋāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž--āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ¸ā§āĻāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž (a
.a āĻĢāĻžāĻāĻ˛, āĻŦāĻž āĻāĻāĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻĢāĻžāĻāĻ˛)āĨ¤
2. āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĨāĻžāĻā§ āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ
āĻāĻāĻŋ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻžāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻĒāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ. āĻĄāĻžāĻāĻ¨āĻžāĻŽāĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻĒā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻžāĻ°āĻŖ āĻ¸āĻŽāĻ¸ā§āĻ¤āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¯āĻž āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤
3. āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻ˛āĻŋāĻā§āĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻŋāĻˇā§āĻ§āĻāĻ¨āĻāĻāĻžāĻŦā§ āĻĻā§āĻ°ā§āĻ āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻŦāĻĄāĻŧ āĻ āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§: āĻāĻŋāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ (āĻ¯ā§āĻŽāĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸), āĻ āĻ°ā§āĻĄāĻžāĻ°
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋāĻā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°ā§āĻ¨ āĻ¤āĻž āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĨ¤ āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§
āĻāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻā§āĻ°āĻŽā§āĨ¤ āĻāĻāĻŋ āĻ¤āĻžāĻ° āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻŽāĻ¨ā§ āĻāĻ°ā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĻāĻāĻ˛ āĻāĻ°ā§
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻāĻāĻāĻŋ
āĻĒā§āĻ°āĻ¤ā§āĻ āĻ¯āĻž āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻāĻāĻ¨āĻ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻ¤āĻž āĻāĻ°ā§ āĻ¨āĻž
āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻāĻāĻŋ āĻĻāĻāĻ˛ āĻāĻžāĻ¨āĻŋ. āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻāĻžāĻ§āĻŋāĻāĻŦāĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§āĨ¤ (āĻāĻŽāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻāĻžāĻ āĻāĻ°ā§āĻāĻŋ
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻĒā§āĻ°ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻāĻŋ āĻ¤āĻŋāĻ¨āĻŦāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻŋ āĻ¤ā§āĻ°āĻŋ
āĻāĻŽāĻŋ āĻ¨ā§āĻā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ, āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻ˛āĻŋāĻā§āĻāĻŋāĻāĨ¤)
āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻŽāĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻŦā§āĻļ āĻāĻŋāĻā§ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¯āĻĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ§ā§āĻ°āĻāĻ¤āĻŋ, āĻāĻžāĻ°āĻŖ
āĻāĻāĻž āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻāĻā§. āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻ¤, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻĒā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻāĻžāĻŽā§āĻ˛āĻž āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¸āĻ āĻŋāĻ āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž; āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻāĻĒāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž,
āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻĒāĻŋ āĻāĻ°ā§āĻā§āĻ¨āĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻ¤, āĻāĻŋāĻā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§, āĻāĻāĻŋ
āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻā§āĻĄ āĻĄāĻŋāĻŦāĻžāĻ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻāĻžāĻ°āĻŖ āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻž
āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ˛āĨ¤
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻāĻžāĻ°āĻŖ āĻāĻā§
āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ: āĻāĻĒāĻ¨āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ āĻĒāĻžāĻ¨ āĻāĻŦāĻ āĻā§āĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĒāĻžāĻ¨ āĻ¨āĻžāĨ¤
āĻāĻŽāĻŋ āĻ¯ā§ āĻā§āĻļāĻ˛āĻāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻŋ āĻ¤āĻž āĻšāĻ˛ āĻāĻ¨āĻā§āĻ°āĻŋāĻŽā§āĻ¨ā§āĻāĻžāĻ˛ āĻ˛āĻŋāĻā§āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤
āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¤āĻž āĻāĻāĻžāĻ¨ā§:
my_module.o : $(filter_out my_module.o, $(wildcard*.o))
ld -r -o $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
āĻāĻ āĻāĻŋ āĻāĻ°āĻŦā§ āĻāĻ°ā§āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ .o āĻĢāĻžāĻāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ my_module.o, āĻ¯āĻž āĻāĻ āĻŋāĻ¤ āĻšāĻŦā§
āĻ¸āĻŦāĻā§āĻ˛ā§ .o āĻāĻ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛āĨ¤ āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻŦā§
āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ, āĻāĻŦāĻ āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻ-āĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄāĻŧā§ āĻĻā§āĻŦā§
āĻ˛āĻŋāĻā§āĻāĻŋāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§āĨ¤ āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§, āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻļā§āĻˇā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĻ¨,
āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ libmy_module.a or libmy_module.so, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻ¸āĻā§āĻā§ āĻ˛āĻŋāĻā§āĻ āĻšāĻŦā§
my_module.o. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻ˛āĻŋāĻā§āĻ .o āĻĢāĻžāĻāĻ˛, āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻ°ā§āĻĄāĻžāĻ°-āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¨ā§āĻ
āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨āĨ¤
āĻ˛ā§āĻāĻŋāĻ makepp āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻŦāĻžāĻāĻ°ā§ āĻ¯ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻšāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻāĻžāĻ°ā§āĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨāĻžāĻā§, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ
(āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§), makepp āĻā§āĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻ˛ā§āĻĄā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤āĨ¤ āĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻ°āĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻāĻžāĻ āĻāĻ°āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻāĻ¨āĻā§āĻ¨āĻļāĻ¨ āĻĒāĻžāĻ˛āĻ¨ āĻāĻ°ā§ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻž āĻā§āĻ˛āĻžāĻ¸ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻāĻāĻāĻŋ āĻ¨āĻĨāĻŋ xyz.h āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻž āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°ā§ xyz.o (āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻĒāĻ¨āĻŋ
āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž xyz1.o āĻāĻŦāĻ xyz2.o), āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
"$(infer_objects)" āĻĢāĻžāĻāĻļāĻ¨ āĻŽā§āĻāĻĒāĻĒāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻŦāĻ˛āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻāĻŋ āĻāĻŽāĻ¨āĻāĻŋ āĻāĻ¯āĻŧā§āĻ āĻĄāĻāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻ¸āĻš āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻļā§āĻāĻ°ā§āĻ¯āĻāĻ¨āĻāĻāĻžāĻŦā§ āĻāĻžāĻ˛ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻŽā§āĻ˛āĻ¤, "$(infer_objects)" āĻāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ .h āĻĢāĻžāĻāĻ˛ āĻ¯ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻā§āĻšāĻžāĻ°āĻž
āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻ¨ā§āĻ¯ .o āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°. āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻā§āĻ¨
āĻāĻāĻ¸āĻžāĻĨā§, āĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨āĻ āĻāĻ° āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦāĻŋāĻ°āĻā§āĻ¤ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¯āĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻžāĨ¤
āĻāĻŽāĻŋ āĻ¯ā§āĻāĻžāĻŦā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¤āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻāĻžāĻ¨ā§:
my_program: $(infer_objects *.o, $(LIB1)/*.o $(LIB2)/*.o)
$(CXX) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ) $(SYSTEM_LIBRARIES)
"$(infer_objects )" āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ (āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§
āĻāĻāĻŋāĻ¤ā§ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ), āĻāĻŦāĻ āĻāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ āĻĻā§āĻā§, āĻāĻ¨ā§āĻ¯
āĻĢāĻžāĻāĻ˛ āĻ¯āĻžāĻ° āĻ¨āĻžāĻŽ āĻ¯ā§āĻā§āĻ¨ āĻ¨āĻžāĻŽā§āĻ° āĻŽāĻ¤ .h āĻĢāĻžāĻāĻ˛ āĻ¯ā§āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋāĻ¤ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
āĻ¯ā§āĻā§āĻ¤āĻŋ. āĻ¯āĻĻāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻ˛ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ, āĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ.
āĻāĻŦāĻ¨ a āĻ¸ā§āĻĨāĻŋāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻšāĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¸āĻ˛ā§ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻā§āĻ°āĻŋāĻŽā§āĻ¨ā§āĻāĻžāĻ˛ āĻ˛āĻŋāĻā§āĻāĻŋāĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¨āĻ¯āĻŧ āĻŦāĻž
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻž āĻ¨āĻ¯āĻŧ, āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ, āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
LIBRARY_FILES = abcde
libmine.a: $(LIBRARY_FILES).o
&rm -f $(āĻāĻāĻāĻĒā§āĻ)
$(AR) cr $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
ranlib $(output) # āĻāĻĒāĻ¨āĻžāĻ° OS āĻāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
&rm āĻšāĻ˛ makepp āĻāĻ° āĻŦāĻŋāĻ˛ā§āĻāĻāĻ¨ "rm" āĻāĻŽāĻžāĻ¨ā§āĻĄāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ˛āĻŋāĻāĻ¤ā§ āĻ āĻā§āĻ¯āĻ¸ā§āĻ¤ āĻšāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ āĻāĻĻā§āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻā§ āĻŦāĻŋāĻ¸ā§āĻŽāĻŋāĻ¤; āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻŽāĻ¤ āĻāĻ°ā§ āĻāĻŋāĻā§ āĻ āĻā§āĻ¯āĻ¸ā§āĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§:
libmine.a: $(LIBRARY_FILES).o
$(AR) ru $@ $? # āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ!!!!!!!
ranlib $(āĻāĻāĻāĻĒā§āĻ)
āĻā§āĻĨāĻžāĻ¯āĻŧ $? ("$(changed_inputs)" āĻ¨āĻžāĻŽā§āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤) āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¯āĻžāĻ° āĻ āĻ°ā§āĻĨ āĻ¯ā§āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛
āĻ¯āĻž āĻļā§āĻˇāĻŦāĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ° āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ $@ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻāĻāĻ
"$(āĻāĻāĻāĻĒā§āĻ)" āĻšāĻŋāĻ¸āĻžāĻŦā§āĨ¤
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ°āĻŖā§ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž:
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻā§āĻ¨āĨ¤ āĻāĻāĻž āĻāĻāĻ¨āĻ āĻāĻā§
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ, āĻāĻžāĻ°āĻŖ āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§āĻ¨āĻ¨āĻŋāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŋāĻā§
āĻāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻŋāĻā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻžāĻ¸āĻŋ āĻĨāĻžāĻāĻŦā§ .o āĻĢāĻžāĻāĻ˛, āĻāĻŦāĻ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ°ā§ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§ (āĻ¯āĻāĻ¨ āĻāĻŽāĻŋ āĻĄā§āĻĄ āĻā§āĻĄ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻāĻŋāĻ˛āĻžāĻŽ āĻ¤āĻāĻ¨ āĻāĻŽāĻŋ āĻāĻāĻŦāĻžāĻ° āĻāĻāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°ā§āĻĒā§āĻ°āĻŋ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ
āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĨā§āĻā§: āĻāĻŽāĻŋ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŽā§āĻā§ āĻ°ā§āĻā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻ˛āĻŋāĻā§āĻāĻ¯ā§āĻā§āĻ¤, āĻ¤āĻžāĻ āĻāĻŽāĻŋ āĻā§āĻŦā§āĻāĻŋāĻ˛āĻžāĻŽ āĻā§āĻĄāĻāĻŋ āĻāĻŋāĻ˛
āĻŽā§āĻ¤. āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻāĻ¨ āĻ āĻ¨ā§āĻ¯ āĻā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§, āĻāĻāĻŋ āĻā§āĻ¨āĻ āĻ˛āĻŋāĻā§āĻ āĻāĻ°ā§āĻ¨āĻŋ
āĻāĻ°ā§! āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋāĻ˛ āĻ¯ā§ āĻĒā§āĻ°ā§āĻ¨ā§ .o āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻ¨āĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°ā§ āĻāĻŋāĻ˛āĨ¤)
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻĒāĻ¨āĻžāĻ° "ar" āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° "ar" āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ (āĻ¯ā§āĻŽāĻ¨, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ
"r" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ "q" āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨), āĻāĻĒāĻ¨āĻŋ āĻāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĨāĻžāĻāĻž āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻāĻ .o āĻāĻŋāĻ¤āĻ°ā§ .a āĻĢāĻžāĻāĻ˛ āĻ¯āĻĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻ˛ā§āĻŦāĻžāĻ˛āĻā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§,
āĻ˛āĻŋāĻā§āĻāĻžāĻ° āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻ¯āĻŧāĻ āĻāĻžāĻ¨āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻžāĻĒ āĻāĻŋāĻ¨āĻŋāĻ¸āĨ¤
āĻāĻ āĻāĻžāĻ°āĻŖā§āĻ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŋ, āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋāĨ¤ āĻāĻāĻž āĻšāĻŦā§
āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻļā§āĻ§ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻāĻā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻŧ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻ¯āĻŧ āĻ¨āĻž; āĻāĻžāĻ˛ā§
āĻāĻāĻāĻŋ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°, āĻāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ ar āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§āĻ˛āĻāĻāĻžāĻŦā§ āĻāĻŽ
āĻ¸āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻŋāĻ˛ā§āĻĄā§ āĻ¯āĻž āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻāĻĻā§āĻŦā§āĻāĻāĻ¨āĻ āĻ¨āĻ¯āĻŧ
āĻ¸āĻŽā§āĻŦāĻ¨ā§āĻ§ā§.
¡ āĻŽā§āĻāĻĒāĻĒ āĻ¸āĻ āĻŋāĻ āĻŦāĻŋāĻ˛ā§āĻĄā§āĻ° āĻā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻāĻŋ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻāĻŋ āĻšāĻŦā§
āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§
$ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§? āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸ā§āĻˇā§āĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ,
āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻŋāĻ¨ā§āĻ¨āĨ¤ (āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĻāĻŽāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
":build_check ignore_action"; āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ makepp_build_check āĻĻā§āĻā§āĻ¨āĨ¤)
¡ āĻĒā§āĻ¨āĻāĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°āĻāĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻŽā§āĻāĻĒāĻŋāĻĒā§āĻ° āĻĒāĻā§āĻˇā§ āĻāĻāĻŋāĻā§ āĻ āĻ¸āĻŽā§āĻāĻŦ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻŦā§
āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻ¯āĻžāĻļā§ āĻ°āĻžāĻā§āĻ¨ (āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ makepp_build_cache āĻĻā§āĻā§āĻ¨)āĨ¤
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻŦāĻŋāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻĨāĻž, āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ˛āĻā§ āĻāĻŦāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻā§āĻ°āĻŽāĻžāĻāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻā§āĻā§āĨ¤ āĻāĻāĻž
āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨:
libmine.a: $(only_targets*.o)
&rm $(āĻāĻāĻāĻĒā§āĻ)
$(AR) cr $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
āĻāĻ āĻ¸āĻŦ āĻ°āĻžāĻā§ .o āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĨ¤ āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ
āĻ¯ā§ āĻā§āĻ¨ā§ āĻŽā§āĻ˛ā§ .o āĻĢāĻžāĻāĻ˛ āĻ¯āĻž āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻŦāĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§āĻ āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§
āĻāĻāĻ¨ā§ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĨ¤
"only_targets" āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ .o āĻĢāĻžāĻāĻ˛ āĻ¯āĻž āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻ¨ā§āĻ
āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻāĻ° āĻā§āĻ¨. āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻ˛ āĻāĻŋāĻ˛ xyz.c āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻā§ xyz.o āĻĢāĻžāĻāĻ˛ āĻāĻžāĻ°āĻĒāĻžāĻļā§ āĻĒāĻĄāĻŧā§ āĻāĻā§āĨ¤ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛ā§āĻ¨ xyz.c
āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ āĻĒā§āĻ°āĻāĻ˛āĻŋāĻ¤, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻā§āĻ˛ā§ āĻā§āĻā§āĻ¨ xyz.o. "āĻļā§āĻ§ā§_āĻ˛āĻā§āĻˇā§āĻ¯" āĻāĻžāĻĄāĻŧāĻž
āĻĢāĻžāĻāĻļāĻ¨, xyz.o āĻāĻāĻ¨āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ .o āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛āĨ¤
āĻāĻŦāĻ¨ a āĻĒā§āĻ°āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ
āĻāĻ¤āĻŋāĻļā§āĻ˛ āĻā§āĻ°āĻ¨ā§āĻĨāĻžāĻāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĨ¤ āĻāĻŽāĻŋ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻšāĻŦā§
āĻāĻāĻāĻŋ āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻŽāĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ libtool āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°ā§āĻ¨ (āĻĻā§āĻā§āĻ¨
<http://www.gnu.org/software/libtool/>), āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž
āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽ, āĻāĻŦāĻ āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻŋ a āĻ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻ˛ā§āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĨāĻžāĻāĻŦā§
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻ¸āĨ¤ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ libtool āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻā§āĻā§āĻ¨āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻŽā§āĻāĻĢāĻžāĻāĻ˛:
āĻ˛āĻŋāĻŦāĻā§āĻ˛ := āĻ˛āĻŋāĻŦāĻā§āĻ˛
libflick.la : $(only_targets *.lo)
$(LIBTOOL) --mode=link $(CC) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
%.lo : %.c
$(LIBTOOL) --mode=āĻāĻŽā§āĻĒāĻžāĻāĻ˛ $(CC) $(CFLAGS) $(āĻāĻ¨āĻā§āĻ˛ā§āĻĄāĻ¸) -c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
āĻāĻŦāĻ¨ on āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻļāĻŋāĻ¨ or āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ
āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦāĻŋāĻ°āĻā§āĻ¤āĻŋāĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻš'āĻ˛ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻ¨āĻ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻž āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ
āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻļāĻŋāĻ¨ āĻŦāĻž āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° makefiles āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻā§āĻ°āĻšā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻŽā§āĻļāĻŋāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻŋāĻā§ āĻ§āĻ°āĻŖā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨
āĻ˛āĻŋāĻĒāĻŋ. āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§
āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻžāĻā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° a āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻĢāĻžāĻāĻ˛ in āĻ¸āĻŦ āĻĻā§āĻ¯ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ°
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ°āĻāĻŽ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
system_defs.mk āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨
āĻĢāĻžāĻāĻ˛ system_defs.mk āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§
āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻ°āĻžāĻā§āĻ¨
system_defs.mk āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§, āĻŦāĻž āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĒāĻĨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°ā§āĻ¨
"-I" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ makepp āĻāĻ°āĻ¤ā§āĨ¤
āĻāĻāĻŋ āĻāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ āĻ§āĻ°āĻŖā§āĻ° āĻŦā§āĻĻāĻ¨āĻžāĻĻāĻžāĻ¯āĻŧāĻ, āĻ¤āĻŦā§ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻžāĻ āĻāĻ°ā§
āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° if āĻŦāĻŋāĻŦā§āĻ¤āĻŋ
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻā§ā§āĻ¸āĻŋāĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤
ifsys i386
CC:= gcc
āĻ āĻ¨ā§āĻ¯āĻĨāĻž ifsys sun4u
CC := cc
āĻ āĻ¨ā§āĻ¯āĻĨāĻž ifsys hpux11
CC = c89
āĻ¯āĻĻāĻŋ āĻļā§āĻˇ
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻšāĻ˛ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŦāĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻž āĻŦāĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž
āĻāĻžāĻ¯āĻŧāĻāĻž, āĻāĻ°āĻ āĻāĻžāĻ˛ āĻāĻĒāĻžāĻ¯āĻŧ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻ¨ā§āĻā§ āĻĻā§āĻā§āĻ¨)āĨ¤
āĻā§āĻāĻā§āĻ¨_āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ, āĻĒā§āĻ°āĻĨāĻŽ_āĻāĻĒāĻ˛āĻŦā§āĻ§, āĻĢāĻžāĻāĻ˛ āĻāĻŋ āĻā§āĻā§
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛āĨ¤ āĻāĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻŽāĻ¤ā§ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻŋ āĻāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ
āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻāĻ°āĻŋ:
CXX ;= $(find_program g++ c++ pg++ cxx CC aCC)
# āĻĒā§āĻ°āĻĨāĻŽ C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦāĻžāĻā§āĻ¨ āĻ¯āĻž PATH-āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤
# (āĻĒā§āĻ°āĻ¸āĻā§āĻāĻā§āĻ°āĻŽā§, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ CXX āĻŽā§āĻā§āĻ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋ
# āĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻĒāĻžāĻ¯āĻŧāĨ¤)
TCL_INCLUDE ;= -I$(dir_noslash $(findfile tcl.h, \
/usr/local/stow/tcl-8.4.5-nothread/include \
/usr/include/tcl8.4 /usr/include/tcl \
/net/na1/tcl8.4a3/include /net/na1/tcl8.4a3/include))
# $(findfile) āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ tcl.h āĻā§āĻāĻā§
# āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻĨ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻ āĻ¤āĻžāĻšāĻ˛ā§
# āĻ¸ā§āĻā§āĻ°āĻŋāĻĒ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§
# āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ (āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻā§āĻĄāĻŧā§) āĻāĻŦāĻ -I āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻā§āĻ¸āĻŋāĻāĨ¤
%.o : %.cpp
$(CXX) $(CXXFLAGS) $(TCL_INCLUDE) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
TCL_LIB ;= $((first_available
/usr/local/stow/tcl-8.4.5-nothread/lib/libtcl8.4.so
/usr/lib/libtcl8.4.so /usr/lib/libtcl.so
/net/na1/tcl8.4a3/lib/libtcl8.4.a
/net/na1/tcl8.4a3/lib/libtcl8.4.sl))
# Tcl āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻā§ āĻ¤āĻž āĻā§āĻāĻā§āĻ¨āĨ¤ āĻāĻ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§
# āĻ˛āĻŋāĻā§āĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤:
my_program : *.o
$(CXX) $(CXXFLAGS) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ) $(TCL_LIB)
āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻž of āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻāĻ¨āĻĢāĻŋāĻ āĻ¤āĻĨā§āĻ¯
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻĒāĻ°ā§āĻ° āĻā§āĻļāĻ˛āĻā§āĻ˛āĻŋ āĻ¯āĻĨā§āĻˇā§āĻ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ, āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ āĻĄāĻŦāĻ˛ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŋāĻ¨āĻž, āĻŦāĻž āĻŦāĻžāĻāĻ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻāĻŋāĨ¤ āĻ¯āĻžāĻšā§āĻ,
āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻŖāĻ¨āĻž āĻāĻ°ā§āĻā§, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛ āĻāĻ° āĻāĻ¤ā§āĻ¤āĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¤āĻĨā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻ°ā§
% āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻšā§āĻ¯āĻžāĻļ. āĻŽā§āĻāĻĒāĻĒā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻšā§āĻ¯āĻžāĻļ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ¨ā§āĻ, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻĒāĻžāĻ°ā§āĻ˛ā§ āĻĄā§āĻ°āĻĒ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛āĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨, āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ makepp āĻĨā§āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯:
perl_begin
# āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻšā§āĻ¯āĻžāĻļ āĻĨā§āĻā§ āĻŽāĻžāĻ¨ āĻāĻ¨ā§āĻ¨āĨ¤
āĻāĻ¨āĻĢāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨;
$CC = $Config{'cc'}; # āĻ¸āĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¯āĻž āĻĒāĻžāĻ°ā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻā§;
$byteorder_flags = "-DBYTEORDER=$Config{'byteorder'}";
$longdouble_defined = $Config{'d_longdbl'} eq 'define';
$CFLAGS_for_shared_libs = $Config{'cccdlflags'};
$LDFLAGS_for_shared_libs = $Config{'ccdlflags'};
perl_end
āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻŋ 'āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°' āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ˛ā§, āĻāĻĒāĻ¨āĻŋ "$(perl)" āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨
āĻāĻ:
SHARED_LIB_EXTENSION := $(perl $Config{'dlext'})
%Config āĻšā§āĻ¯āĻžāĻļā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ "perldoc Config" āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨āĨ¤
āĻĒā§āĻ°ā§āĻŖāĻ¸āĻāĻā§āĻ¯āĻžāĻ° āĻ§āĻ°āĻ¨, āĻŦāĻžāĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻ°ā§āĻ˛ā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻžāĻ¯āĻŧāĻāĻž
āĻ āĻ°ā§āĻĄāĻžāĻ°, āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻŋāĻā§āĻāĻž
āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯āĻā§āĻ˛āĻŋ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ā§ˇ
āĻŦā§āĻ§ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, $Config{'cc'} C āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻā§ āĻŦā§āĻāĻžāĻ¯āĻŧ āĻ¯āĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛,
āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻāĻ C āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ¸āĻ˛ā§, āĻāĻāĻŋ āĻāĻŽāĻ¨āĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻžāĻ°ā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻā§āĻ¨āĨ¤
āĻāĻŋāĻĒāĻ¸ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄāĻ¸
āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ āĻ¸āĻŦ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ° āĻāĻžāĻĄāĻŧāĻž a āĻāĻŋāĻā§ āĻāĻĒāĻ¸ā§āĻ
Makepp āĻāĻ° āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻ āĻāĻžāĻĄāĻŧāĻž āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ
āĻ¸ā§āĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ¸āĻā§āĻā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨.
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻž āĻāĻ°ā§āĻ¨ āĻ¨āĻž
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ
āĻĒāĻ°ā§āĻā§āĻˇāĻž, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ āĻŽāĻ¤ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
libproduction.a: $(filter_out test*, $(wildcard*.o))
"$(āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° )" āĻāĻŦāĻ "$(filter_out )" āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻ¸ā§āĻ
āĻ¸ā§āĻ āĻā§āĻĻ āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŦ āĻ§āĻ°āĻŖā§āĻ°. āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
SUBDIRS ;= $(filter_out *āĻĒāĻ°ā§āĻā§āĻˇāĻž*$(ARCH)*, $(āĻļā§āĻ˛ āĻā§āĻāĻā§āĻ¨āĨ¤ -āĻāĻžāĻāĻĒ d -āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ))
# āĻ¨ā§āĻ āĻāĻŽāĻ¨ āĻ¸āĻŦ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻ¯āĻŧ
āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ # "āĻĒāĻ°ā§āĻā§āĻˇāĻž" āĻŦāĻž $(ARCH)āĨ¤
$(āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° $(patsubst test_dir/test_%.o, %.o, $(wildcard test_dir/*.o)), \
$(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ *.o))
# āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ .o āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
# āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻāĻā§
test_dir āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ # test__*.o āĻĢāĻžāĻāĻ˛āĨ¤
$(filter_out $(patsubst man/man3/%.3, %.o, $(wildcard man/man3/*.3)), \
$(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ *.o))
# āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ .o āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
# āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻˇā§āĻ āĻž āĻ¨ā§āĻ
# man/man3 āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻ¸āĻšāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ¯ "$(only_targets )" āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨā§āĻā§ āĻŦāĻžāĻāĻž āĻŽāĻžāĻŽā§āĻ˛āĻŋ .o āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ°āĻāĻŽ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŦāĻž āĻāĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻā§āĻ¨:
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: *.o
$(CC) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻž .o āĻĢāĻžāĻāĻ˛,
āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĻ¯āĻĻāĻŋāĻ āĻāĻāĻŋ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻāĨ¤ āĻŽāĻ§ā§āĻ¯ā§
āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, makepp āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻŋāĻ¨āĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻĨā§āĻā§ āĻŦāĻžāĻĻ āĻĻā§āĻŦā§
āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻāĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻŋāĻā§ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻŦāĻ˛āĻ¤ā§ āĻšāĻŦā§:
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: $(only_targets *.o)
$(CC) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
āĻŽā§āĻā§āĻĒ āĻŦāĻžāĻ¸āĻŋ āĻāĻĄāĻŧāĻžāĻ° āĻā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻāĻžāĻ¨ā§ āĻ¨āĻž .o āĻĢāĻžāĻāĻ˛ āĻāĻ° āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻāĻ° āĻā§āĻ¨ā§ āĻĢāĻžāĻāĻ˛
āĻāĻ˛ā§ āĻā§āĻā§, āĻ¤āĻžāĻ "$(only_targets )" āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻŋāĻā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻŦāĻžāĻĻ āĻĻā§āĻŦā§āĨ¤
āĻāĻŋāĻĒāĻ¸ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦāĻšā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
āĻŽā§āĻāĻĒā§āĻĒ āĻ˛ā§āĻāĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻžāĻ°āĻŖ āĻāĻŋāĻ˛ āĻāĻāĻžāĻ§āĻŋāĻ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ āĻ¸āĻšāĻ āĻāĻ°āĻž
āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ Makepp āĻāĻāĻžāĻ§āĻŋāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻŽā§āĻāĻžāĻŦā§āĻ˛āĻž āĻāĻ°ā§ āĻ¯āĻž āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¯āĻž a āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤
āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĨ¤
āĻāĻŋ āĻĨā§āĻā§ do in āĻāĻžāĻ¯āĻŧāĻāĻž of āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°āĻž
Makepp āĻĒāĻļā§āĻāĻžāĻĻāĻāĻžāĻŽā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻŽā§āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻāĻāĻžāĻ āĻ¤ā§āĻŽāĻŋ āĻ¨āĻž āĻāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§. āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻŋ āĻāĻžāĻ¨ā§āĻ¨ āĻ¨āĻž, āĻāĻžāĻ˛.
āĻāĻĒāĻ¨āĻŋ āĻā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻž āĻ¤āĻžāĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ makepp-āĻ "āĻšāĻžāĻ¯āĻŧāĻžāĻ°āĻžāĻ°ā§āĻāĻŋāĻā§āĻ¯āĻžāĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ" āĻĻā§āĻā§āĻ¨
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻŽā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻ¯āĻŧā§āĻŦā§ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĻ¨ "āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤ āĻŽā§āĻ āĻā§āĻˇāĻ¤āĻŋāĻāĻžāĻ°āĻ āĻŦāĻ˛ā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤"āĨ¤
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ "āĻ¸āĻŽāĻ¸ā§āĻ¤" āĻāĻžāĻ°ā§āĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻŽā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻāĻŋ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻā§āĻ¨ āĻāĻžāĻ°ā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻž makeppāĻā§ āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¸āĻšāĻāĨ¤
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŦ āĻāĻ°āĻž .o āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§
makefiles, āĻ¤āĻžāĻ°āĻĒāĻ° makepp āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§ āĻā§āĻ¨ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻā§āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨--
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯ā§ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¤āĻž āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻ˛āĻŋāĻā§āĻāĻŋāĻ āĻ§āĻžāĻĒā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻ¨ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻā§āĻ¨.
āĻāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ: āĻ¸āĻā§āĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻŦā§āĻāĻžāĻ
āĻāĻāĻžāĻ§āĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ°āĻžāĻāĻž
āĻ¯ā§āĻāĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻ¸ā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŦāĻž āĻĨā§āĻā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧāĨ¤ āĻ°āĻžāĻāĻ˛ā§ .o āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ
āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ˛ā§āĻĄāĻŋāĻ (āĻ "āĻāĻŽāĻĒā§āĻ˛āĻŋāĻ¸āĻŋāĻ āĻ˛ā§āĻĄāĻŋāĻ" āĻĻā§āĻā§āĻ¨
makepp_build_algorithm) āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻā§āĻāĻā§ āĻĒāĻžāĻŦā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ°āĻž .o
āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛ (āĻ¯ā§āĻŽāĻ¨, āĻāĻāĻāĻŋ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°-āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§), āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ
āĻ¸āĻŽā§āĻāĻŦāĻ¤ "load_makefile" āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻŽā§āĻ¨āĻž āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ˛ā§āĻĄāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§
āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¯āĻž āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤ (āĻ¤āĻŦā§ āĻĻā§āĻā§āĻ¨ "āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŋ āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻĻāĻ°āĻāĻžāĻ°
āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ?" makepp_cookbook-āĻ, āĻāĻžāĻ°āĻŖ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻā§āĻā§āĻ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻ āĻāĻ¤ā§āĻ¯āĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻ¯āĻŧ):
# āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛:
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: main.o **/*.la # āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ˛āĻŋāĻā§āĻāĨ¤
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ) $(LIBS)
āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¤āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§, āĻāĻĒāĻ¨āĻŋ
āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻāĻ°āĻŦā§:
# āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛:
standard_defs.mk # āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨ ., .., ../ .., āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻāĻŋ
# āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻā§āĻāĻā§ āĻĒāĻžāĻ¯āĻŧāĨ¤
# āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻāĻā§āĻāĻž āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°ā§āĻ¨
āĻŦāĻŋāĻļā§āĻˇ_āĻĢā§āĻ˛ā§āĻ¯āĻžāĻāĻ¸ := -āĻāĻ°ā§_āĻāĻŋāĻā§_āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻĻāĻŋ āĻ˛āĻā§āĻˇā§āĻ¯āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ
āĻŦā§āĻļ āĻ āĻ¨ā§āĻ°ā§āĻĒāĨ¤
āĻ āĻŦāĻļā§āĻˇā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ standard_defs.mk āĻĢāĻžāĻāĻ˛ (āĻ¯āĻž āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§):
# āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
CFLAGS := -g -O2
āĻāĻ¨āĻā§āĻ˛ā§āĻĄ_āĻĄāĻŋāĻāĻāĻāĻ° := $(āĻĢāĻžāĻāĻ¨ā§āĻĄ_āĻāĻĒāĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤)
# āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ ., .., ../ .., āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻž
# āĻĄāĻžāĻāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ°āĻžāĻā§āĻ¨
# āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤, āĻāĻāĻŋ āĻšāĻŦā§
# āĻ¤āĻžāĻĻā§āĻ°āĻā§ āĻā§āĻāĻā§.
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ := -I$(INCLUDE_DIR)
%.lo : %.c
$(LIBTOOL) --mode=āĻāĻŽā§āĻĒāĻžāĻāĻ˛ $(CC) $(CFLAGS) $(āĻāĻ¨āĻā§āĻ˛ā§āĻĄāĻ¸) -c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
lib$(relative_to ., ..).la: $(only_targets *.lo)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS)-o $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
# $(āĻāĻĒā§āĻā§āĻˇāĻŋāĻ_āĻā§ ., ..) āĻāĻžāĻ°ā§āĻ¨ā§āĻā§āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ # āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
# āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻāĻŋ xyz/Makefile āĻšāĻ¯āĻŧ,
# āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽ xyz/libxyz.la āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤
# āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°ā§āĻ¨:
$(INCLUDE_DIR)/public_%.h : public_%.h
:build_check symlnk
&ln -fr $(āĻāĻ¨āĻĒā§āĻ) $(āĻāĻāĻāĻĒā§āĻ)
āĻāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ: āĻ¸ā§āĻĒāĻˇā§āĻ āĻŦā§āĻāĻžāĻ
āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŦ āĻ˛āĻžāĻāĻžāĻ¤ā§ āĻāĻžāĻ¨ .o āĻāĻāĻāĻŋ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°-āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ°
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤:
# āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛:
MAKEFILES := $(wildcard **/Makeppfile) # āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž
# āĻĨā§āĻā§ makefiles āĻĒāĻžāĻ¨āĨ¤
load_makefile $(MAKEFILES) # āĻ¸āĻŦāĻā§āĻ˛ā§ āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨āĨ¤
standard_defs.mk āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨ # main.o āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ¨āĨ¤
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: $(ARCH)/main.o */**/$(ARCH)/*.la
$(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ) $(LIBS)
# */**/$(ARCH) āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻ¯āĻŧ
# $(ARCH), āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¨āĻž
# āĻāĻāĻāĻŋ āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĨ¤
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ āĻŋāĻ āĻāĻā§āĻ° āĻŽāĻ¤ā§āĻ āĻšāĻŦā§:
# āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛:
standard_defs.mk āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
# ... āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°ā§
āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻļā§āĻˇā§, standard_defs.mk āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĨāĻžāĻāĻŦā§:
# āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸ā§āĻāĻŋāĻāĻ¸ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
ARCH ;= $(āĻļā§āĻ˛ uname -s)-$(āĻļā§āĻ˛ uname -m)-$(āĻļā§āĻ˛ uname -r)
# āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ˛ā§āĻā§āĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° $(āĻļā§āĻ˛ uname -m) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§
# āĻāĻāĻŋ āĻĢā§āĻ°āĻŋāĻŦāĻŋāĻāĻ¸āĻĄāĻŋ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ āĻšāĻŦā§
# āĻāĻāĻāĻŋ x86āĨ¤ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§ -r āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¨āĻ¯āĻŧ,
# āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻāĻāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ: āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯
# SunOS 5.8 āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ SunOS 5.7 āĻ āĻāĻ˛āĻŦā§ āĻ¨āĻžāĨ¤
&mkdir -p $(ARCH) # āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨āĨ¤
CFLAGS := -g -O2
āĻāĻ¨āĻā§āĻ˛ā§āĻĄ_āĻĄāĻŋāĻāĻāĻāĻ° := $(āĻĢāĻžāĻāĻ¨ā§āĻĄ_āĻāĻĒāĻ°ā§āĻ° āĻĻāĻŋāĻā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤)
# āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ ., .., ../ .., āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻž
# āĻĄāĻžāĻāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ°āĻžāĻā§āĻ¨
# āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤, āĻāĻāĻŋ āĻšāĻŦā§
# āĻ¤āĻžāĻĻā§āĻ°āĻā§ āĻā§āĻāĻā§.
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ := -I$(INCLUDE_DIR)
$(ARCH)/%.lo : %.c
$(LIBTOOL) --mode=āĻāĻŽā§āĻĒāĻžāĻāĻ˛ $(CC) $(CFLAGS) $(āĻāĻ¨āĻā§āĻ˛ā§āĻĄāĻ¸) -c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
$(ARCH)/ lib$(āĻāĻĒā§āĻā§āĻˇāĻŋāĻ_āĻā§ ., ..).la: $(only_targets *.lo)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS)-o $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
# $(āĻāĻĒā§āĻā§āĻˇāĻŋāĻ_āĻā§ ., ..) āĻāĻžāĻ°ā§āĻ¨ā§āĻā§āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§
āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ # āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
# āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻāĻŋ xyz/Makefile āĻšāĻ¯āĻŧ,
# āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ xyz/$(ARCH)/libxyz.la āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§āĨ¤
# āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°ā§āĻ¨:
$(INCLUDE_DIR)/public_%.h : public_%.h
&cp $(āĻāĻ¨āĻĒā§āĻ) $(āĻāĻāĻāĻĒā§āĻ)
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°ā§āĻ° āĻĻā§āĻ¯ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻ¸
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻŦāĻ āĻāĻāĻ āĻ°āĻāĻŽ āĻšāĻ¯āĻŧ (āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻŽāĻ¤ā§), āĻāĻĒāĻ¨āĻŋ āĻŽā§āĻāĻĒāĻā§ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¤āĻžāĻĻā§āĻ° āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§āĨ¤ āĻļā§āĻ§ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
makefile:
SUBDIRS := $(filter_out unwanted_dir1 unwanted_dir2, $(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ */**))
$(foreach)/Makeppfile: : foreach $(SUBDIRS)
&echo "include standard_defs.mk" -o $(āĻāĻāĻāĻĒā§āĻ)
&echo "_include additional_defs.mk" -o >>$(āĻāĻāĻāĻĒā§āĻ)
# āĻ¯āĻĻāĻŋ extra_defs.mk āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§
# āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻā§,
# _include āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻ¨ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻšāĻŦā§āĨ¤
āĻāĻ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻā§āĻŦāĻ˛ at āĻĻā§āĻ¯ āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°
āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨: āĻā§āĻ¨ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤
āĻ¸ā§āĻ¤āĻ°? āĻā§āĻ¨ āĻ¯ā§ āĻ¸āĻŦ āĻļā§āĻ°ā§āĻˇ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻžāĻāĻž āĻ¨āĻž?
āĻšā§āĻ¯āĻžāĻ, āĻāĻ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ
āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĨ¤ āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻ¯ā§ āĻāĻĒāĻ¨āĻžāĻ°
makefile āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĒāĻĄāĻŧāĻž āĻāĻāĻā§ āĻāĻ āĻŋāĻ¨ āĻšāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§āĨ¤
āĻāĻāĻžāĻ¨ā§ āĻļā§āĻ§ā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
# āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ āĻ¨ā§āĻā§āĻ°āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĨ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
# āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§āĨ¤ (āĻāĻĒāĻ°ā§ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻĻā§āĻā§āĻ¨
# āĻā§āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻā§āĻ°āĻŋāĻŽā§āĻ¨ā§āĻāĻžāĻ˛ āĻ˛āĻŋāĻā§āĻāĻŋāĻ āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ # āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤)
makepp_percent_subdirs := 1 # %-āĻā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛āĻžāĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨āĨ¤
SUBDIRS := $(filter_out *CVS* āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯-āĻ āĻŦāĻžāĻā§āĻāĻŋāĻ¤_dirs $(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ **))
CFLAGS := -g -O2
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ := -āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
%.lo: %.c
$(LIBTOOL) --mode=āĻāĻŽā§āĻĒāĻžāĻāĻ˛ $(CC) $(Includes) $(CFLAGS)-c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
$(āĻĒā§āĻ°āĻāĻžāĻŽā§)/ lib$(notdir $(foreach)).la: $(foreach)/*.lo : foreach $(SUBDIRS)
$(LIBTOOL) --mode=link $(CC) $(CFLAGS)-o $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
# āĻ¸āĻŦ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĨ¤
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: main.o**/*.la
$(LIBTOOL) --mode=link $(CC) $(CFLAGS)-o $(āĻāĻāĻāĻĒā§āĻ) $(āĻāĻ¨āĻĒā§āĻ)
āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤/$(notdir $(foreach)): $(foreach): foreach **/public_*.h
&cp $(āĻāĻ¨āĻĒā§āĻ) $(āĻāĻāĻāĻĒā§āĻ)
# āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŽā§āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽ
# āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ .h āĻĢāĻžāĻāĻ˛ āĻ¸āĻ āĻŋāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧāĨ¤
A āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯
āĻāĻ¤āĻŋāĻšā§āĻ¯āĻāĻ¤ āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻĨāĻžāĻā§, āĻ¯āĻž āĻ¯āĻž āĻāĻŋāĻ˛ āĻ¤āĻž āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĢā§āĻ˛āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ
āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŽā§āĻāĻĒāĻŋāĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§:
1. āĻŽā§āĻāĻĒ āĻāĻāĻāĻŋ āĻ¸āĻ āĻŋāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻā§āĻ¯ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻ āĻŽāĻ°āĻŋāĻ¯āĻŧāĻž "āĻāĻŽāĻŋ āĻ¨āĻž
āĻāĻžāĻ¨āĻŋ āĻāĻŋ āĻā§āĻ˛", āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸ā§āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻāĻžāĻāĻ¯āĻŧāĻžāĻāĻž āĻ āĻ¤ā§āĻ¤ā§āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤
2. āĻŽāĻžāĻ¨ā§āĻˇ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŦāĻžāĻ°ā§ āĻĻā§āĻāĻŋ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻāĻžāĻ āĻāĻ°ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻāĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§:
"āĻ¸āĻŦ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨"āĨ¤ āĻāĻāĻŋ makepp āĻāĻ° āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻšāĻŦā§
āĻāĻŋāĻā§ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻā§ āĻāĻāĻ¨āĻž āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§āĻŽ āĻāĻ¸ā§, āĻ¯āĻž āĻāĻ°ā§
āĻŽā§āĻāĻĒā§āĻĒāĻā§ āĻŦāĻ˛āĻŦā§āĻ¨ āĻ¨āĻž āĻāĻāĻŋ āĻā§ āĻāĻ°ā§ (āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻāĻāĻŋ āĻĒāĻžāĻ°ā§ āĻ¨āĻž, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻŋāĻā§āĻā§ āĻĒā§āĻ°ā§āĻŦāĻžāĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĢāĻŋāĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¨ā§ --
āĻāĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻ˛ āĻāĻŋ āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤). āĻ¤āĻžāĻ°āĻĒāĻ° "āĻ¸āĻŽāĻ¸ā§āĻ¤" āĻāĻ¸ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒ āĻā§ āĻĄā§āĻ āĻĢāĻžāĻāĻ˛,
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ°āĻšāĻ¸ā§āĻ¯āĻāĻ¨āĻāĻāĻžāĻŦā§ āĻāĻ˛ā§ āĻā§āĻā§āĨ¤
3. "makeppclean" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻā§, āĻ¯āĻž āĻāĻāĻ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ°āĻ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§āĨ¤
āĻ¤āĻŦā§āĻ āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋāĻā§ āĻ§āĻ°ā§ āĻ°āĻžāĻāĻŋ, āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻŦāĻ˛ā§
āĻāĻĒāĻžāĻ¯āĻŧ āĻŽā§āĻāĻĒ āĻāĻžāĻ āĻāĻ°ā§: "āĻā§āĻ˛āĻŋāĻ¨" āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻ¨āĻāĻ˛ āĻāĻžāĻ°ā§āĻā§āĻ āĻšāĻ˛ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽ
āĻŽā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻĢāĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛ā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻĻā§āĻāĻžāĻ¯āĻŧ
āĻāĻāĻžāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻā§:
$(āĻĢāĻ¨āĻŋ āĻā§āĻ˛āĻŋāĻ¨):
&rm -fm $(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ *.o .makepp_log)
# -m āĻāĻŦāĻ .makepp_log āĻŽā§āĻāĻĒ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻžāĻā§āĻ āĻĨā§āĻā§ āĻŽā§āĻā§āĻ¤āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŽā§āĻāĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻž āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ makepp āĻā§ āĻŦāĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ā§ āĻ¤āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻŋāĻā§ āĻ¸āĻ°āĻžāĻ¨, āĻ¯ā§āĻŽāĻ¨:
$(āĻĢāĻ¨āĻŋ āĻā§āĻ˛āĻŋāĻ¨):
&rm -fm .makepp_log $(only_targets*)
āĻāĻāĻŋāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ¨ā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻ āĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ,
āĻ¤āĻžāĻ°āĻžāĻ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻŦā§; āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§, āĻŦāĻžāĻ¸āĻŋ .o āĻĢāĻžāĻāĻ˛ (āĻ¯ā§ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¤
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖāĻ¯ā§āĻā§āĻ¯ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻžāĻ° āĻāĻ¤ā§āĻ¸ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§) āĻŽā§āĻā§ āĻĢā§āĻ˛āĻž āĻšāĻŦā§ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĨāĻžāĻā§ āĻ¯āĻžāĻ¤ā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻĄāĻŧāĻŋāĻ¤ āĻĨāĻžāĻā§, āĻāĻĒāĻ¨āĻžāĻ° āĻļā§āĻ°ā§āĻˇ-
āĻ˛ā§āĻā§āĻ˛ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ "āĻā§āĻ˛āĻŋāĻ¨" āĻāĻžāĻ°ā§āĻā§āĻ (āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻ¨āĻāĻ˛ āĻāĻžāĻ°ā§āĻā§āĻ) āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§
makefile:
# āĻāĻĒ-āĻ˛ā§āĻā§āĻ˛ āĻŽā§āĻāĻĢāĻžāĻāĻ˛
SUBDIRS := sub1 sub2
# āĻāĻāĻžāĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
# āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻĒāĻ°ā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§āĻ¨:
$(āĻĢāĻ¨āĻŋ āĻā§āĻ˛āĻŋāĻ¨): $(SUBDIRS)/āĻā§āĻ˛āĻŋāĻ¨
&rm -fm .makepp_log $(only_targets*)
āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° "āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°" āĻ˛āĻā§āĻˇā§āĻ¯āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨:
$(āĻĢāĻ¨āĻŋ āĻā§āĻ˛āĻŋāĻ¨):
&rm -fm $(only_targets**/*)
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° Qt āĻāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯āĻž Nokia āĻāĻ° Qt GUI āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ (āĻĻā§āĻā§āĻ¨
<http://qt.nokia.com>)āĨ¤ āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ¯ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧ
āĻāĻāĻā§āĻ āĻ¸āĻāĻā§āĻāĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŽāĻ¨ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ ".h" āĻĢāĻžāĻāĻ˛ā§ "moc" āĻ¨āĻžāĻŽāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§,
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ "Q_OBJECT" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¨āĻž āĻāĻŽāĻ¨ āĻā§āĻ¨ā§ ".h" āĻĢāĻžāĻāĻ˛ā§ "moc" āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ¨ āĻ¨āĻžāĨ¤
āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧ āĻ¯ā§ āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻĨāĻŋ āĻĒāĻ¤ā§āĻ°
āĻāĻĒāĻ¨āĻŋ, āĻ āĻŦāĻļā§āĻ¯āĻ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° ".h" āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° "moc" āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻāĻāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¤āĻŦā§, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻ°āĻā§āĻ¤āĻŋāĻāĻ° āĻāĻŋāĻā§ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻ¤ā§ āĻĨāĻžāĻā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ moc āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻ¸āĻā§āĻā§ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻŽāĻĄāĻŋāĻāĻ˛:
MOC := $(QTDIR)/bin/moc
āĻŽāĻĄāĻŋāĻāĻ˛ := āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻ¯ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĨāĻžāĻā§āĻ āĻ¨āĻž āĻā§āĻ¨
MOC_MODULES := $(patsubst %.h, moc_%, $(&grep -l /Q_OBJECT/ *.h))
# Q_OBJECT āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ .h āĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻāĻ°ā§āĨ¤
my_program: $(MODULES).o $(MOC_MODULES).o
$(CXX) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
moc_%.cxx: %.h # .h āĻĢāĻžāĻāĻ˛ āĻĨā§āĻā§ moc āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
$(MOC) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
%.o: %.cxx
$(CXX) $(CXXFLAGS)-c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ .h āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° makepp āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻā§āĻāĻāĻā§āĻ¨
"Q_OBJECT" āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§āĨ¤ āĻāĻāĻŋ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛ āĻļā§āĻ¨āĻžāĻā§āĻā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻā§āĻŦ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§āĻŦā§ āĻ¨āĻžāĨ¤ (āĻĻā§āĻ¯ .h
āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ā§āĻļāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¯ā§āĻā§āĻ¨ā§āĻāĻžāĻŦā§āĻ āĻĄāĻŋāĻ¸ā§āĻ āĻĨā§āĻā§ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¤āĻžāĻ āĻ¤āĻžāĻ°āĻž āĻāĻ°āĻŦā§
āĻā§āĻ¯āĻžāĻļā§ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤)
# āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĻā§āĻ¯ .moc āĻĢāĻžāĻāĻ˛
āĻāĻ°ā§āĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻā§āĻā§āĻ° "moc" āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻĨā§āĻā§ āĻāĻāĻāĻĒā§āĻ "#include" āĻāĻ°āĻž
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻĢāĻžāĻāĻ˛āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻā§ "#include" āĻ˛āĻŋāĻāĻ¤ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻž āĻāĻā§
āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻā§, āĻāĻŦāĻ āĻ¤āĻžāĻ āĻ¸āĻāĻāĻ˛āĻ¨ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
(āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ C++ āĻ¸āĻāĻāĻ˛āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻšā§āĻĄāĻžāĻ° āĻĢāĻžāĻāĻ˛ āĻĒāĻĄāĻŧāĻ¤ā§ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ
āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°ā§āĻ° āĻāĻāĻāĻĒā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻā§āĻā§āĻ° āĻŽāĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĢāĻžāĻāĻ˛ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
āĻ¯āĻžāĻ āĻšā§āĻāĨ¤) āĻ¯ā§āĻŽāĻ¨:
// my_widget.h
āĻā§āĻ˛āĻžāĻ¸ MyWidget : āĻ¸āĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ QWidget {
Q_OBJECT
// ...
}
// my_widget.cpp
# "my_widget.h" āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨
#include "my_widget.moc" // my_widget.moc āĻĨā§āĻā§ āĻāĻāĻāĻĒā§āĻ
// moc āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ°āĨ¤
// āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻāĻžāĻ¨ā§.
MyWidget::MyWidget(QWidget * parent, const char * name):
QWidget (āĻ āĻāĻŋāĻāĻžāĻŦāĻ, āĻ¨āĻžāĻŽ)
{
// ...
}
āĻāĻāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ ".moc" āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§, āĻ¯ā§āĻŽāĻ¨:
MOC := $(QTDIR)/bin/moc
# .moc āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ:
%.moc: %.h
$(MOC) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
Makepp āĻ¯āĻĨā§āĻˇā§āĻ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻ āĻāĻāĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯ā§ āĻāĻāĻŋ "my_widget.moc" āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻ¨āĻž āĻāĻ°ā§
āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨, āĻ āĻĨāĻŦāĻž āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤
āĻāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻŽāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻ¸āĻāĻāĻ˛āĻ¨ā§āĻ° āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ āĻŦāĻāĻŋāĻ¤ āĻāĻ°āĻž āĻŦāĻžāĻāĻ§āĻžāĻ°āĻžāĻ°
MAKECMDGOALS
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻ˛ā§āĻā§āĻĻā§āĻ° āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĨāĻžāĻā§ āĻ¤āĻžāĻ°āĻž āĻā§āĻ¨ āĻāĻžāĻ°ā§āĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻā§ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§,
āĻŦāĻŋāĻļā§āĻˇ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ "MAKECMDGOALS" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻŽāĻ¤ āĻāĻŋāĻ¨āĻŋāĻ¸ āĻĻā§āĻā§
āĻāĻ:
ifneq ($(āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨, $(MAKECMDGOALS)),)
CFLAGS := -O2
āĻāĻ°
CFLAGS := -g
āĻ¯āĻĻāĻŋ āĻļā§āĻˇ
āĻāĻāĻŋ makepp āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ˛ āĻāĻžāĻ āĻāĻ°āĻŦā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻŽāĻŋ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ "MAKECMDGOALS" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ
āĻā§āĻ¸ (āĻāĻŦāĻ āĻ¤āĻžāĻ GNU āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§)āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻāĻžāĻ˛ āĻāĻŦāĻ
āĻĄāĻŋāĻŦāĻžāĻ-āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ .o āĻāĻ˛āĻžāĻĻāĻž āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĢāĻžāĻāĻ˛, āĻŦāĻž āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻŦāĻž
āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻ¯āĻŧ, āĻŦāĻž āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻžāĻĻā§āĻ° āĻāĻ˛āĻžāĻĻāĻž āĻ°āĻžāĻāĻ¤ā§āĨ¤
āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¸āĻ˛ā§ "MAKECMDGOALS" āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻšāĻ¯āĻŧ
āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻ āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° "āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°" āĻ˛āĻā§āĻˇā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ
(āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ)āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ,
ifneq ($(MAKECMDGOALS),āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°)
load_makefile $(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ **/Makeppfile)
āĻāĻ°
āĻā§āĻ¨_āĻāĻŽāĻĒā§āĻ˛āĻŋāĻ¸āĻŋāĻ_āĻ˛ā§āĻĄ # āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ˛ā§āĻĄ āĻšāĻāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§āĻ§ āĻāĻ°ā§āĻ¨āĨ¤
āĻ¯āĻĻāĻŋ āĻļā§āĻˇ
$(āĻĢāĻ¨āĻŋ āĻā§āĻ˛āĻŋāĻ¨):
&rm -f $(āĻāĻ¯āĻŧāĻžāĻāĻ˛ā§āĻĄāĻāĻžāĻ°ā§āĻĄ**/*.o)
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻāĻ°āĻž āĻĨā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž in āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
makepp_cookbook-āĻ "āĻāĻāĻžāĻ§āĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻĒāĻ¸" āĻĻā§āĻā§āĻ¨āĨ¤
āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻāĻ°āĻž āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŽā§āĻ˛ā§āĻ¯ of a āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛
āĻāĻŋāĻā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻŋāĻ¨ā§āĻ¨ āĻŽāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ˛ā§ āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨, āĻĄāĻŋāĻŦāĻžāĻ
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ āĻāĻŖā§āĻĄā§ āĻ˛āĻā§āĻˇā§āĻ¯
.PHONE: āĻ¸āĻŦ āĻĄāĻŋāĻŦāĻžāĻ
āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž:
$(āĻŽā§āĻ) āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ CFLAGS=-O2
āĻĄāĻŋāĻŦāĻžāĻ:
$(āĻŽā§āĻ) āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ CFLAGS=-g
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: ao bo
$(CC) $(CFLAGS) $^ -o $@
%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻĻāĻŋ "āĻŽā§āĻ āĻĄāĻŋāĻŦāĻžāĻ" āĻāĻžāĻāĻĒ āĻāĻ°ā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽā§āĻĄā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§
āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§āĨ¤
āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻ āĻŦāĻā§āĻā§āĻ āĻĢāĻžāĻāĻ˛, āĻāĻ āĻŽāĻ¤:
CFLAGS := -O2
DEBUG_FLAGS := -g
āĻŽāĻĄāĻŋāĻāĻ˛:= ab
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: $(āĻŽāĻĄāĻŋāĻāĻ˛).o
$(CC) $(CFLAGS) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
debug/program: debug/$(MODULES).o
$(CC) $(DEBUG_FLAGS) $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
%.o : %.c
$(CC) $(CFLAGS)-c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
āĻĄāĻŋāĻŦāĻžāĻ/%.o : %.c
$(CC) $(DEBUG_FLAGS)-c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
$(āĻĢāĻ¨āĻŋ āĻĄāĻŋāĻŦāĻžāĻ): āĻĄāĻŋāĻŦāĻžāĻ/āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ
āĻāĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ (āĻ) āĻ¯āĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ
āĻĄāĻŋāĻŦāĻžāĻ āĻĨā§āĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻŦāĻžāĻ° āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨; (āĻ)
āĻāĻžāĻ¨ā§āĻĄāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒāĻ°ā§āĻ°āĻāĻŋ āĻāĻ°āĻ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤āĻāĻžāĻŦā§ āĻ˛ā§āĻāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§
makefile āĻ āĻŋāĻ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯:
āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĄāĻŋāĻŦāĻžāĻ=. # āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻāĻŋāĻā§ āĻāĻ° āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĻ° āĻŽāĻ¤ā§ āĻĻā§āĻāĻžāĻ¯āĻŧā§ˇ
# āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĨ¤
load_makefile āĻĄāĻŋāĻŦāĻžāĻ CFLAGS=-g
# āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻšā§āĻŦāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ˛ā§ CFLAGS āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°ā§āĻ¨
CFLAGS := -O2 # CFLAGS-āĻāĻ° āĻŽāĻžāĻ¨ āĻ¯āĻāĻ¨ āĻāĻ āĻ¸āĻžāĻŦ-āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ: ao bo
$(CC) $(CFLAGS) $^ -o $@
%.o : %.c
$(CC) $(CFLAGS) -c $< -o $@
$(āĻĢāĻ¨āĻŋ āĻĄāĻŋāĻŦāĻžāĻ): āĻĄāĻŋāĻŦāĻžāĻ/āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ
# āĻ¯āĻĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻžāĻāĻĒ āĻāĻ°ā§ "makepp debug", āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ°ā§
āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ # āĻĄāĻŋāĻŦāĻžāĻ/āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĨ¤
āĻŦāĻŋāĻŦāĻŋāĻ§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ
āĻāĻŋāĻāĻžāĻŦā§ do I āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž āĻāĻ āĻ āĻāĻļ āĻāĻŋāĻ¨ā§āĻ¨āĻāĻžāĻŦā§ āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻĻāĻž?
āĻŽā§āĻā§āĻĒ āĻāĻāĻŋ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§ āĻāĻžāĻ°āĻŖ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž
āĻāĻžāĻ°ā§ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻ¤āĻĨā§āĻ¯āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§ āĻĻā§āĻāĻŋ āĻ§āĻžāĻĒā§ āĻāĻāĻŋ āĻ āĻ°ā§āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ˛āĻŋāĻā§āĻ āĻĢā§āĻ āĻĨā§āĻā§ āĻāĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻāĻ¯āĻŧāĻž:
makepp DEBUG=3 buggy.o # āĻ āĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
makepp --dont-build=buggy.o buggy # "āĻā§āĻ˛" āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĨāĻžāĻāĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§āĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŋāĻāĻžāĻŦā§ do I āĻāĻ°āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ my āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨?
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĢāĻžāĻāĻ˛
āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¯āĻŧ āĻāĻāĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻāĻ°āĻž āĻ¸āĻšāĻ
āĻāĻ:
# āĻļāĻžāĻ¸ā§āĻ¤ā§āĻ°ā§āĻ¯āĻŧ āĻāĻĒāĻžāĻ¯āĻŧ
āĻĄāĻžāĻŽāĻŋ := $(āĻļā§āĻ˛ āĻā§āĻ¸ā§āĻ -d $(OUTPUT_DIRECTORY) || mkdir -p $(OUTPUT_DIRECTORY))
# āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ
# $(OUTPUT_DIRECTORY) āĻāĻŦāĻ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
# āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ := āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ = āĻāĻāĻŋāĻā§ āĻā§āĻ° āĻāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
# āĻ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°ā§āĻ¨āĨ¤
# āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ: āĻĒāĻžāĻ°ā§āĻ˛ āĻā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, OUTPUT_DIRECTORY āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ var
perl_begin
-d $OUTPUT_DIRECTORY āĻŦāĻž mkdir $OUTPUT_DIRECTORY;
perl_end
# āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻĒāĻžāĻ¯āĻŧ, āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻ āĻāĻ°ā§ āĻ¨āĻž
&mkdir -p $(OUTPUT_DIRECTORY)
āĻāĻ āĻŦāĻŋāĻŦā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§āĻ° āĻļā§āĻ°ā§āĻˇā§āĻ° āĻāĻžāĻā§ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤, āĻ¤āĻžāĻ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻāĻŋāĻā§āĻ° āĻāĻā§āĨ¤
āĻāĻŋāĻāĻžāĻŦā§ do I āĻŦāĻ˛ a āĻšā§āĻā§āĻŽ āĻĨā§āĻā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ on āĻĒā§āĻ°āĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ?
āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻ°ā§āĻ˛ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻāĻ°āĻž, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§, āĻ¯ā§āĻŽāĻ¨
āĻāĻ:
āĻĄāĻžāĻŽāĻŋ := $(āĻļā§āĻ˛ āĻ¤āĻžāĻ°āĻŋāĻ > āĻ˛āĻžāĻ¸ā§āĻ_āĻŦāĻŋāĻ˛ā§āĻĄ_āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ)
āĻ āĻĨāĻŦāĻž āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻ˛ āĻŦā§āĻ˛āĻā§ āĻ°āĻžāĻā§āĻ¨, āĻ¯ā§āĻŽāĻ¨:
perl_begin
āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ ("āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻĻā§āĻļ");
perl_end
āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŽāĻ¨āĻāĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻšā§āĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻšāĻ¯āĻŧ
āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻā§āĻā§
āĻāĻāĻāĻŋ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻ˛ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¨āĻāĻ˛ āĻ˛āĻā§āĻˇā§āĻ¯ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻˇāĻŖāĻž āĻāĻ°āĻž, āĻāĻŽāĻ¨āĻāĻŋ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻĢāĻžāĻāĻ˛ āĻšāĻ˛ā§āĻāĨ¤
āĻāĻāĻŋ āĻŽā§āĻāĻĒāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°āĻŦā§, āĻ¤āĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻž āĻšāĻ˛ā§
āĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻŋāĻāĻžāĻŦā§ do I āĻāĻŽāĻžāĻ¨ āĻĻā§āĻ¯ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž āĻāĻĻā§āĻļ?
āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ā§āĻļāĻ¨ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĨāĻžāĻā§ āĻ¯āĻž āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ
āĻĒāĻ°ā§āĻĻāĻž āĻ āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯āĨ¤ āĻāĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻĻāĻŽāĻ¨ āĻāĻ°ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄ, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ āĻāĻļ āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻž
"$(filter_out )" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻžāĻ¸āĻā§āĻāĻŋāĻ āĻ āĻāĻļ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻž āĻ¸āĻšāĻ, āĻ¯ā§āĻŽāĻ¨
āĻāĻ:
ALL_CFLAGS = $(CFLAGS) $(āĻāĻ¨āĻā§āĻ˛ā§āĻĄāĻ¸) $(ADDL_CXX_FLAGS) $(DEBUG_FLAGS)
%.o : %.c
@&echo $(notdir $(CC)) ... \
$(filter_out -I* $(ADDL_CXX_FLAGS), $(ALL_CFLAGS)) \
-c $(āĻāĻ¨āĻĒā§āĻ)
@$(CC) $(ALL_CFLAGS)-c $(āĻāĻ¨āĻĒā§āĻ) -o $(āĻāĻāĻāĻĒā§āĻ)
(āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻŽāĻ¨ā§āĻ° "@" āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻžāĻā§ āĻĻāĻŽāĻ¨ āĻāĻ°ā§āĨ¤)
āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻĻā§āĻāĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§ āĻ¤āĻŦā§ āĻ¸āĻŦāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻŦā§ āĻ¨āĻž
āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨ (āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĨāĻžāĻā§!) āĻ āĻāĻļ āĻāĻĒāĻ¨āĻŋ āĻāĻā§āĻ°āĻšā§ āĻšāĻ˛ā§
in āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻ¸āĻāĻ˛āĻā§āĻ¨, āĻāĻĒāĻ¨āĻŋ "āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ" āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻž āĻ¯ā§āĻ āĻāĻ°ā§ a
āĻ¨āĻŋāĻāĻ˛āĻžāĻāĻ¨, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ¨ āĻ¨āĻž):
āĻ˛āĻā§āĻˇā§āĻ¯:
@... $(āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ āĻāĻļ) ...
āĻāĻŋāĻāĻžāĻŦā§ do I āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° a āĻĢāĻžāĻāĻ˛ āĻŽāĻ§ā§āĻ¯ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž?
āĻāĻŋāĻā§ āĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻĢāĻžāĻāĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§
āĻāĻŽāĻžāĻĻā§āĻ° xml āĻĢāĻžāĻāĻ˛ āĻāĻā§, āĻŦāĻ˛ā§āĻ¨ foobar.xml āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§ foobar.out:
āĻ
āĻ
āĻ
āĻāĻŽāĻ°āĻž āĻāĻ āĻ¸āĻšāĻ āĻ˛ā§āĻāĻāĻāĻāĻŋ āĻŽā§āĻ¨ā§ āĻāĻ˛āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋ, āĻ¤āĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° xml āĻĒāĻžāĻ°ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻāĨ¤ āĻ¸āĻā§āĻā§
āĻŦāĻŋāĻ˛ā§āĻāĻāĻ¨ &sed, āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸āĻšāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŋ āĻāĻ°āĻŋ
āĻ˛āĻžāĻāĻ¨:
%.d: %.xml
&sed āĻāĻ°! !$(āĻ¸ā§āĻā§āĻŽ).āĻāĻāĻ: \\! || s! (.+) !$$1 \\! || s! !# āĻāĻžāĻ˛āĻŋ!' \
$(āĻāĻ¨āĻĒā§āĻ)-āĻ $(āĻāĻāĻāĻĒā§āĻ)
foobar.d āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
āĻāĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻĒā§āĻ°āĻĨāĻŽā§ "foobar.d" āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§:
foobar.out: \
āĻāĻāĻāĻŋ \
āĻ \
āĻ \
#āĻāĻžāĻ˛āĻŋ
āĻāĻžāĻ˛āĻŋ (āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻŦāĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ āĻāĻžāĻ˛āĻŋ) āĻ˛āĻžāĻāĻ¨ āĻā§āĻ°ā§āĻ˛āĻŋāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĻā§āĻŦāĻŋāĻā§āĻ¨ āĻšāĻāĻ¯āĻŧāĻž āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ
āĻŦā§āĻ¯āĻžāĻāĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻļ āĻāĻāĻāĻŋ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻ˛āĻžāĻāĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻšāĻ˛:
%.d: %.xml
&sed āĻāĻ°! !$(āĻ¸ā§āĻā§āĻŽ).āĻāĻāĻ: \$$((! || s! !))! || s!<.+?>!!g' \
$(āĻāĻ¨āĻĒā§āĻ)-āĻ $(āĻāĻāĻāĻĒā§āĻ)
foobar.d āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°ā§:
foobar.out: $((
a
b
c
))
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻŽā§āĻāĻĢāĻžāĻāĻ˛ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦāĻž a-āĻ¤ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¯ā§āĻŽāĻ¨ āĻ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ $_ āĻāĻ¨āĻĒā§āĻ āĻ˛āĻžāĻāĻ¨ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§:
āĻ¸āĻžāĻŦ āĻŽāĻžāĻāĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° {
undef $_ āĻĢā§āĻ°āĻ¤ āĻĻāĻŋāĻ¨ āĻ¯āĻĻāĻŋ /
āĻāĻŽāĻžāĻ° $stem = f_stem;
s! !$stem.out: \$((! || s! !))! || s!<.+?>!!g;
}
%.d: %.xml
&sed āĻāĻ°! !$(āĻ¸ā§āĻā§āĻŽ).āĻāĻāĻ: \$$((! || s! !))! || s!<.+?>!!g' \
$(āĻāĻ¨āĻĒā§āĻ)-āĻ $(āĻāĻāĻāĻĒā§āĻ)
foobar.d āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤
onworks.net āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ makepp_cookbook āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨