99 $(QUIETLY) mkdir -p 64/ ; \
100 $(CC) $(SYMFLAG) $(ARCHFLAG/$(XARCH)) -D$(TYPE) -I. \
101 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
102 endif # ifneq ("${ISA}","${BUILDARCH}")
103
104 ifdef USE_GCC
105 LFLAGS_GENOFFS += -D_REENTRANT
106 else
107 LFLAGS_GENOFFS += -mt -xnolib -norunpath
108 endif
109
110 lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
111 $(INCLS)/_vmStructs.cpp.incl $(LIBJVM.o)
112 $(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
113 $(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
114
115 $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
116 $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
117 ./lib$(GENOFFS).so
118
119 # $@.tmp is created first. It's to avoid empty $(JVMOFFS).h produced in error case.
120 $(JVMOFFS).h: $(GENOFFS)
121 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp ; \
122 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
123 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
124 else rm -f $@.tmp; \
125 fi
126
127 $(JVMOFFS)Index.h: $(GENOFFS)
128 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp ; \
129 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
130 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
131 else rm -f $@.tmp; \
132 fi
133
134 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
135 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp ; \
136 if [ `diff $@.tmp $@ > /dev/null 2>&1; echo $$?` -ne 0 ] ; \
137 then rm -f $@; mv $@.tmp $@; echo Updated $@ ; \
138 else rm -f $@.tmp; \
139 fi
140
141 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
142 $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
143
144 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
145 @echo Making $@
146 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
147 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
148
149 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
150 @echo Making $@
151 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
152 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
153
154 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
155 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
156 $(QUIETLY) cat $^ > $@
157
158 # Dtrace is available, so we build $(DTRACE.o)
159 $(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
|
99 $(QUIETLY) mkdir -p 64/ ; \
100 $(CC) $(SYMFLAG) $(ARCHFLAG/$(XARCH)) -D$(TYPE) -I. \
101 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
102 endif # ifneq ("${ISA}","${BUILDARCH}")
103
104 ifdef USE_GCC
105 LFLAGS_GENOFFS += -D_REENTRANT
106 else
107 LFLAGS_GENOFFS += -mt -xnolib -norunpath
108 endif
109
110 lib$(GENOFFS).so: $(DTRACE_SRCDIR)/$(GENOFFS).cpp $(DTRACE_SRCDIR)/$(GENOFFS).h \
111 $(INCLS)/_vmStructs.cpp.incl $(LIBJVM.o)
112 $(QUIETLY) $(CCC) $(CPPFLAGS) $(GENOFFS_CFLAGS) $(SHARED_FLAG) $(PICFLAG) \
113 $(LFLAGS_GENOFFS) -o $@ $(DTRACE_SRCDIR)/$(GENOFFS).cpp -lc
114
115 $(GENOFFS): $(DTRACE_SRCDIR)/$(GENOFFS)Main.c lib$(GENOFFS).so
116 $(QUIETLY) $(LINK.CC) -z nodefs -o $@ $(DTRACE_SRCDIR)/$(GENOFFS)Main.c \
117 ./lib$(GENOFFS).so
118
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.
127 $(JVMOFFS).h: $(GENOFFS)
128 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -header > $@.tmp
129 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
130
131 $(JVMOFFS)Index.h: $(GENOFFS)
132 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -index > $@.tmp
133 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
134
135 $(JVMOFFS).cpp: $(GENOFFS) $(JVMOFFS).h $(JVMOFFS)Index.h
136 $(QUIETLY) LD_LIBRARY_PATH=. ./$(GENOFFS) -table > $@.tmp
137 $(QUIETLY) $(CONDITIONALLY_UPDATE_JVMOFFS_TARGET)
138
139 $(JVMOFFS.o): $(JVMOFFS).h $(JVMOFFS).cpp
140 $(QUIETLY) $(CCC) -c -I. -o $@ $(ARCHFLAG) -D$(TYPE) $(JVMOFFS).cpp
141
142 $(LIBJVM_DB): $(DTRACE_SRCDIR)/$(JVM_DB).c $(JVMOFFS.o) $(XLIBJVM_DB) $(LIBJVM_DB_MAPFILE)
143 @echo Making $@
144 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. -I$(GENERATED) \
145 $(SHARED_FLAG) $(LFLAGS_JVM_DB) -o $@ $(DTRACE_SRCDIR)/$(JVM_DB).c -lc
146
147 $(LIBJVM_DTRACE): $(DTRACE_SRCDIR)/$(JVM_DTRACE).c $(XLIBJVM_DTRACE) $(DTRACE_SRCDIR)/$(JVM_DTRACE).h $(LIBJVM_DTRACE_MAPFILE)
148 @echo Making $@
149 $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) -D$(TYPE) -I. \
150 $(SHARED_FLAG) $(LFLAGS_JVM_DTRACE) -o $@ $(DTRACE_SRCDIR)/$(JVM_DTRACE).c -lc -lthread -ldoor
151
152 $(DTRACE).d: $(DTRACE_SRCDIR)/hotspot.d $(DTRACE_SRCDIR)/hotspot_jni.d \
153 $(DTRACE_SRCDIR)/hs_private.d $(DTRACE_SRCDIR)/jhelper.d
154 $(QUIETLY) cat $^ > $@
155
156 # Dtrace is available, so we build $(DTRACE.o)
157 $(DTRACE.o): $(DTRACE).d $(JVMOFFS).h $(JVMOFFS)Index.h $(DTraced_Files)
|