diff -r a4ed06f86e5c -r b75f8e02f823 util/m5/Makefile.arm --- a/util/m5/Makefile.arm Wed Oct 24 17:23:42 2012 -0400 +++ b/util/m5/Makefile.arm Tue Oct 09 12:58:25 2012 +0100 @@ -46,6 +46,7 @@ CC=$(CROSS_COMPILE)gcc AS=$(CROSS_COMPILE)as LD=$(CROSS_COMPILE)ld +AR=$(CROSS_COMPILE)ar JC=javac JH=javah @@ -54,11 +55,13 @@ #JDK_PATH=/path/to/jdk/version_number CFLAGS=-O2 -I $(JDK_PATH)/include/ -I $(JDK_PATH)/include/linux +LDFLAGS=-L. -lm5 -OBJS=m5.o m5op_arm.o +LIB_OBJS=m5op_arm.o +OBJS=m5.o JNI_OBJS=m5op_arm.o jni_gem5Op.o -all: m5 +all: libm5.a m5 %.o: %.S $(CC) $(CFLAGS) -o $@ -c $< @@ -67,7 +70,10 @@ $(CC) $(CFLAGS) -o $@ -c $< m5: $(OBJS) - $(CC) -o $@ $(OBJS) + $(CC) -o $@ $(OBJS) $(LDFLAGS) + +libm5.a: $(LIB_OBJS) + $(AR) rcs $@ $< gem5OpJni: gem5OpJni.jar $(JNI_OBJS) $(CC) --shared -o lib$@.so $(JNI_OBJS) @@ -78,4 +84,4 @@ $(JR) cvf $@ jni/*.class clean: - rm -f *.o m5 libgemOpJni.so gem5OpJni.jar jni/*.class + rm -f *.o m5 libgemOpJni.so gem5OpJni.jar jni/*.class libm5.a diff -r a4ed06f86e5c -r b75f8e02f823 util/m5/Makefile.thumb --- a/util/m5/Makefile.thumb Wed Oct 24 17:23:42 2012 -0400 +++ b/util/m5/Makefile.thumb Tue Oct 09 12:58:25 2012 +0100 @@ -47,12 +47,17 @@ CC=$(CROSS_COMPILE)gcc AS=$(CROSS_COMPILE)as LD=$(CROSS_COMPILE)ld +AR=$(CROSS_COMPILE)ar #CFLAGS=-O2 -march=armv7 -mthumb CFLAGS=-O2 -mthumb -OBJS=m5.o m5op_arm.o +LDFLAGS=-L. -lm5 -all: m5 +OBJS=m5.o +LIB_OBJS=m5op_arm.o + + +all: libm5.a m5 %.o: %.S $(CC) $(CFLAGS) -o $@ -c $< @@ -61,7 +66,11 @@ $(CC) $(CFLAGS) -o $@ -c $< m5: $(OBJS) - $(CC) -o $@ -march=armv7 -mthumb $(OBJS) + $(CC) -o $@ -march=armv7 -mthumb $(OBJS) $(LDFLAGS) + +libm5.a: $(LIB_OBJS) + $(AR) rcs $@ $< + clean: - rm -f *.o m5 + rm -f *.o m5 libm5.a diff -r a4ed06f86e5c -r b75f8e02f823 util/m5/m5op.h --- a/util/m5/m5op.h Wed Oct 24 17:23:42 2012 -0400 +++ b/util/m5/m5op.h Tue Oct 09 12:58:25 2012 +0100 @@ -32,6 +32,10 @@ #ifndef __M5OP_H__ #define __M5OP_H__ +#ifdef __cplusplus +extern "C" { +#endif + #include void arm(uint64_t address); @@ -79,4 +83,7 @@ #define M5_AN_FL_LINK 0x10 #define M5_AN_FL_RESET 0x20 +#ifdef __cplusplus +} +#endif #endif // __M5OP_H__