| 859 | rule AddEntryToHaikuImageExpanderRuleFile file : entry |
| 860 | { |
| 861 | local allEntries |
| 862 | = [ on $(file) return $(HAIKU_IMAGE_EXPANDER_RULES_ENTRIES) ] ; |
| 863 | |
| 864 | if $(allEntries) { |
| 865 | allEntries = $(allEntries)!$(entry) ; |
| 866 | } else { |
| 867 | allEntries = $(entry) ; |
| 868 | |
| 869 | Always $(file) ; |
| 870 | MakeLocate $(file) : $(HAIKU_COMMON_PLATFORM_OBJECT_DIR) ; |
| 871 | BuildHaikuImageExpanderRules $(file) ; |
| 872 | AddFilesToHaikuImage common etc : $(file) ; |
| 873 | } |
| 874 | |
| 875 | HAIKU_IMAGE_EXPANDER_RULES_ENTRIES on $(file) = $(allEntries) ; |
| 876 | } |
| 877 | |
| 878 | actions BuildHaikuImageExpanderRules |
| 879 | { |
| 880 | echo -e "$(HAIKU_IMAGE_EXPANDER_RULES_ENTRIES)" | tr '!' '\n' > $(1) |
| 881 | } |
| 882 | |
| 883 | rule AddExpanderRuleToHaikuImage mimetype : extension : list : extract |
| 884 | { |
| 885 | #AddExpanderRuleToHaikuImage <mimetype> : <extension> : <list> : <extract> |
| 886 | |
| 887 | if ! $(mimetype) || ! $(extension) || ! $(list) || ! $(extract) { |
| 888 | Exit "Invalid expander rule specification passed to AddExpanderRule." ; |
| 889 | } |
| 890 | |
| 891 | local entry = "\\\"$(mimetype)\\\"\\\t$(extension)\\\t\\\"$(list)\\\"\\\t\\\"$(extract)\\\"" ; |
| 892 | AddEntryToHaikuImageExpanderRuleFile <haiku-image>expander.rules |
| 893 | : $(entry) ; |
| 894 | } |
| 895 | |