47 JAR1_FILE := $(OUTPUT_DIR)/jar1.jar |
47 JAR1_FILE := $(OUTPUT_DIR)/jar1.jar |
48 JAR1_MANIFEST := $(OUTPUT_DIR)/jar1_manifest |
48 JAR1_MANIFEST := $(OUTPUT_DIR)/jar1_manifest |
49 |
49 |
50 clean-jar1: |
50 clean-jar1: |
51 $(RM) -r $(OUTPUT_DIR)/_jar1* $(OUTPUT_DIR)/jar1* |
51 $(RM) -r $(OUTPUT_DIR)/_jar1* $(OUTPUT_DIR)/jar1* |
|
52 |
|
53 $(JAR1_MANIFEST): | $(OUTPUT_DIR)/_jar1_created |
|
54 $(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST) |
52 |
55 |
53 $(OUTPUT_DIR)/_jar1_created: $(DEPS) |
56 $(OUTPUT_DIR)/_jar1_created: $(DEPS) |
54 $(RM) -r $(JAR1_SRC_ROOT) |
57 $(RM) -r $(JAR1_SRC_ROOT) |
55 $(RM) $(JAR1_FILE) |
58 $(RM) $(JAR1_FILE) |
56 $(RM) -r $(JAR1_UNZIP) |
59 $(RM) -r $(JAR1_UNZIP) |
59 $(MKDIR) -p $(JAR1_SRC_ROOT)/dir2 |
62 $(MKDIR) -p $(JAR1_SRC_ROOT)/dir2 |
60 $(MKDIR) -p $(JAR1_SRC_ROOT)/META-INF |
63 $(MKDIR) -p $(JAR1_SRC_ROOT)/META-INF |
61 $(TOUCH) $(JAR1_SRC_ROOT)/dir1/file1.class |
64 $(TOUCH) $(JAR1_SRC_ROOT)/dir1/file1.class |
62 $(TOUCH) $(JAR1_SRC_ROOT)/dir2/file2.class |
65 $(TOUCH) $(JAR1_SRC_ROOT)/dir2/file2.class |
63 $(TOUCH) $(JAR1_SRC_ROOT)/META-INF/metafile |
66 $(TOUCH) $(JAR1_SRC_ROOT)/META-INF/metafile |
64 $(ECHO) "Test-Attribute: value" > $(JAR1_MANIFEST) |
|
65 $(TOUCH) $@ |
67 $(TOUCH) $@ |
66 |
68 |
67 $(eval $(call SetupArchive,BUILD_JAR1, \ |
69 $(eval $(call SetupArchive,BUILD_JAR1, \ |
68 $(OUTPUT_DIR)/_jar1_created, \ |
70 $(OUTPUT_DIR)/_jar1_created, \ |
69 SRCS := $(JAR1_SRC_ROOT), \ |
71 SRCS := $(JAR1_SRC_ROOT), \ |
75 $(MKDIR) -p $(JAR1_UNZIP) |
77 $(MKDIR) -p $(JAR1_UNZIP) |
76 $(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG) |
78 $(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG) |
77 $(DIFF) -r $(JAR1_SRC_ROOT)/dir1 $(JAR1_UNZIP)/dir1 |
79 $(DIFF) -r $(JAR1_SRC_ROOT)/dir1 $(JAR1_UNZIP)/dir1 |
78 $(DIFF) -r $(JAR1_SRC_ROOT)/dir2 $(JAR1_UNZIP)/dir2 |
80 $(DIFF) -r $(JAR1_SRC_ROOT)/dir2 $(JAR1_UNZIP)/dir2 |
79 $(DIFF) -r $(JAR1_SRC_ROOT)/META-INF/metafile $(JAR1_UNZIP)/META-INF/metafile |
81 $(DIFF) -r $(JAR1_SRC_ROOT)/META-INF/metafile $(JAR1_UNZIP)/META-INF/metafile |
80 if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_MANIFEST)`" = "" ]; then \ |
82 if [ "`$(GREP) 'Test-Attribute: value' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \ |
81 $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \ |
83 $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \ |
82 exit 1; \ |
84 exit 1; \ |
83 fi |
85 fi |
84 $(TOUCH) $@ |
86 $(TOUCH) $@ |
85 |
87 |
86 create-jar2: $(OUTPUT_DIR)/_jar1_verified |
88 create-jar2: $(OUTPUT_DIR)/_jar1_verified |
87 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_verified |
89 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_verified |
88 |
90 |
89 # Change a source file and call this makefile again to force the jar to be |
91 # Change a source file and call this makefile again to force the jar to be |
90 # updated. |
92 # updated. |
91 $(OUTPUT_DIR)_jar1_updated: $(OUTPUT_DIR)/_jar1_verified |
93 $(OUTPUT_DIR)/_jar1_updated: $(OUTPUT_DIR)/_jar1_verified |
92 $(ECHO) updated > $(JAR1_SRC_ROOT)/dir1/file1.class |
94 $(ECHO) updated > $(JAR1_SRC_ROOT)/dir1/file1.class |
93 $(ECHO) updated > $(JAR1_SRC_ROOT)/META-INF/metafile |
95 $(ECHO) updated > $(JAR1_SRC_ROOT)/META-INF/metafile |
94 $(TOUCH) $(OUTPUT_DIR)/_jar1_created |
96 $(TOUCH) $(OUTPUT_DIR)/_jar1_created |
95 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar1_verified |
97 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar1_verified |
96 $(TOUCH) $@ |
98 $(TOUCH) $@ |
97 |
99 |
98 update-jar1: $(OUTPUT_DIR)_jar1_updated |
100 update-jar1: $(OUTPUT_DIR)_jar1_updated |
99 TEST_TARGETS += $(OUTPUT_DIR)_jar1_updated |
101 |
100 |
102 # Change the manifest file and call this makefile again to force the jar |
101 .PHONY: clean-jar1 create-jar1 update-jar1 |
103 # to be updated |
|
104 $(OUTPUT_DIR)/_jar1_updated_manifest: $(OUTPUT_DIR)/_jar1_updated |
|
105 $(ECHO) "Test-Attribute: foobar" > $(JAR1_MANIFEST) |
|
106 +$(MAKE) -f $(THIS_FILE) $(BUILD_JAR1) |
|
107 $(RM) -r $(JAR1_UNZIP) |
|
108 $(MKDIR) -p $(JAR1_UNZIP) |
|
109 $(CD) $(JAR1_UNZIP) && $(UNZIP) $(JAR1_FILE) $(LOG_DEBUG) |
|
110 if [ "`$(GREP) 'Test-Attribute: foobar' $(JAR1_UNZIP)/META-INF/MANIFEST.MF`" = "" ]; then \ |
|
111 $(ECHO) "Could not find Test-Attribute in manifest of $(JAR1_FILE)"; \ |
|
112 exit 1; \ |
|
113 fi |
|
114 $(TOUCH) $@ |
|
115 |
|
116 update-jar1-manifest: $(OUTPUT_DIR)/_jar1_updated_manifest |
|
117 |
|
118 TEST_TARGETS += $(OUTPUT_DIR)/_jar1_updated $(OUTPUT_DIR)/_jar1_updated_manifest |
|
119 |
|
120 .PHONY: clean-jar1 create-jar1 update-jar1 update-jar1-manifest |
102 |
121 |
103 ################################################################################ |
122 ################################################################################ |
104 # Test: jar2 |
123 # Test: jar2 |
105 # Creates a jar file based on 2 source roots |
124 # Creates a jar file based on 2 source roots |
106 |
125 |
137 $(TOUCH) $@ |
156 $(TOUCH) $@ |
138 |
157 |
139 create-jar2: $(OUTPUT_DIR)/_jar2_verified |
158 create-jar2: $(OUTPUT_DIR)/_jar2_verified |
140 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_verified |
159 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_verified |
141 |
160 |
142 $(OUTPUT_DIR)_jar2_updated: $(OUTPUT_DIR)/_jar2_verified |
161 $(OUTPUT_DIR)/_jar2_updated: $(OUTPUT_DIR)/_jar2_verified |
143 $(ECHO) updated > $(JAR2_SRC_ROOT1)/dir1/file1.class |
162 $(ECHO) updated > $(JAR2_SRC_ROOT1)/dir1/file1.class |
144 $(TOUCH) $(OUTPUT_DIR)/_jar2_created |
163 $(TOUCH) $(OUTPUT_DIR)/_jar2_created |
145 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar2_verified |
164 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar2_verified |
146 $(TOUCH) $@ |
165 $(TOUCH) $@ |
147 |
166 |
148 update-jar2: $(OUTPUT_DIR)_jar2_updated |
167 update-jar2: $(OUTPUT_DIR)/_jar2_updated |
149 TEST_TARGETS += $(OUTPUT_DIR)_jar2_updated |
168 TEST_TARGETS += $(OUTPUT_DIR)/_jar2_updated |
150 |
169 |
151 .PHONY: clean-jar2 create-jar2 update-jar2 |
170 .PHONY: clean-jar2 create-jar2 update-jar2 |
152 |
171 |
153 ################################################################################ |
172 ################################################################################ |
154 # Test: jar3 |
173 # Test: jar3 |
198 $(TOUCH) $@ |
217 $(TOUCH) $@ |
199 |
218 |
200 create-jar3: $(OUTPUT_DIR)/_jar3_verified |
219 create-jar3: $(OUTPUT_DIR)/_jar3_verified |
201 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_verified |
220 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_verified |
202 |
221 |
203 $(OUTPUT_DIR)_jar3_updated: $(OUTPUT_DIR)/_jar3_verified |
222 $(OUTPUT_DIR)/_jar3_updated: $(OUTPUT_DIR)/_jar3_verified |
204 $(ECHO) updated > $(JAR3_SRC_ROOT2)/extra-file |
223 $(ECHO) updated > $(JAR3_SRC_ROOT2)/extra-file |
205 $(TOUCH) $(OUTPUT_DIR)/_jar3_created |
224 $(TOUCH) $(OUTPUT_DIR)/_jar3_created |
206 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar3_verified |
225 +$(MAKE) -f $(THIS_FILE) $(OUTPUT_DIR)/_jar3_verified |
207 $(TOUCH) $@ |
226 $(TOUCH) $@ |
208 |
227 |
209 update-jar3: $(OUTPUT_DIR)_jar3_updated |
228 update-jar3: $(OUTPUT_DIR)/_jar3_updated |
210 TEST_TARGETS += $(OUTPUT_DIR)_jar3_updated |
229 TEST_TARGETS += $(OUTPUT_DIR)/_jar3_updated |
211 |
230 |
212 .PHONY: clean-jar3 create-jar3 update-jar3 |
231 .PHONY: clean-jar3 create-jar3 update-jar3 |
213 |
232 |
214 ################################################################################ |
233 ################################################################################ |
215 |
234 |