114 |
114 |
115 $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so |
115 $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so |
116 $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \ |
116 $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \ |
117 ./lib$(GENOFFS).so |
117 ./lib$(GENOFFS).so |
118 |
118 |
119 # $@.tmp is created first. It's to avoid empty $(JVMOFFS).h produced in error case. |
119 CONDITIONALLY_UPDATE_JVMOFFS_TARGET = \ |
|
120 cmp -s $@ $@.tmp; \ |
|
121 case $$? in \ |
|
122 0) rm -f $@.tmp;; \ |
|
123 *) rm -f $@ && mv $@.tmp $@ && echo Updated $@;; \ |
|
124 esac |
|
125 |
|
126 # $@.tmp is created first to avoid an empty $(JVMOFFS).h if an error occurs. |
120 $(JVMOFFS).h: $(GENOFFS) |
127 $(JVMOFFS).h: $(GENOFFS) |
121 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp ; \ |
128 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp |
122 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \ |
129 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET) |
123 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \ |
|
124 else rm -f $@.tmp; \ |
|
125 fi |
|
126 |
130 |
127 $(JVMOFFS)Index.h: $(GENOFFS) |
131 $(JVMOFFS)Index.h: $(GENOFFS) |
128 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp ; \ |
132 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp |
129 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \ |
133 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET) |
130 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \ |
|
131 else rm -f $@.tmp; \ |
|
132 fi |
|
133 |
134 |
134 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h |
135 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h |
135 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp ; \ |
136 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp |
136 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \ |
137 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET) |
137 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \ |
|
138 else rm -f $@.tmp; \ |
|
139 fi |
|
140 |
138 |
141 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp |
139 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp |
142 $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp |
140 $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp |
143 |
141 |
144 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |
142 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE) |