| 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 "$(HAIKU_IMAGE_EXPANDER_RULES_ENTRIES)" | tr '|' '\n' > $(1) |
| 881 | } |
| 882 | |
| 883 | rule AddExpanerRule mimetype : extension : list : extract |
| 884 | { |
| 885 | #AddExpanerRule <mimetype> : <extension> : <list> : <extract> |
| 886 | |
| 887 | if ! $(mimetype) || ! $(extension) || ! $(list) || ! $(extract) { |
| 888 | Exit "Invalid expander rule specification passed to AddExpanerRule." ; |
| 889 | } |
| 890 | |
| 891 | local entry = "\"$(mimetype)\"\t$(extension)\t\"$(list)\"\t\"$(extract)\"" ; |
| 892 | |
| 893 | AddEntryToHaikuImageExpanderRuleFile <haiku-image>expander.rules : $(entry) ; |
| 894 | } |
| 895 | |