mips changes
[cacao.git] / Makefile
index a1bcca496873026b6e0686a2526795e91f8e1e10..a769fe0c2a8e920e74f881327434ccc260d137ca 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@
 # Authors: Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
 #          Andreas  Krall      EMAIL: cacao@complang.tuwien.ac.at
 #
-# Last Change: 1997/10/30
+# Last Change: $Id: Makefile 92 1998-11-25 11:48:50Z phil $
 #
 #
 # ATTENTION: This version of the makefile only works with gmake.
 #
 ################################################################################
 
+VERSION_MAJOR = 0
+VERSION_MINOR = 31
+VERSION_POSTFIX = 
+
+VERSION_STRING=$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_POSTFIX)
+
 ##################### generation of the excutable ##############################
 
 # Enabling/disabling thread support
-USE_THREADS = YES
-#USE_THREADS = NO
+USE_THREADS = YES
+USE_THREADS = NO
 
 ifeq ($(USE_THREADS),YES)
 THREAD_OBJ = threads/threads.a
@@ -36,24 +42,39 @@ THREAD_OBJ =
 THREAD_CFLAGS =
 endif
 
-CC = cc
-#CFLAGS = -g -mieee -Wall $(THREAD_CFLAGS)
-CFLAGS = -mieee -O3 -Wall $(THREAD_CFLAGS)
+#CC = cc
+#ARCHFLAGS = 
+#CFLAGS = -g -mieee -Wall $(THREAD_CFLAGS) $(ARCHFLAGS)
+#CFLAGS = -mieee -O3 -Wall $(THREAD_CFLAGS) $(ARCHFLAGS)
+#LFLAGS = -lm
 
+CC = cc
+ARCHFLAGS = 
+#CFLAGS = -g -ieee $(THREAD_CFLAGS) $(ARCHFLAGS)
+#CFLAGS = -O6 -g -pg -ieee $(THREAD_CFLAGS) $(ARCHFLAGS)
+CFLAGS = -O2 -g -ieee -fno-inline $(THREAD_CFLAGS) $(ARCHFLAGS)
+#CFLAGS = -O6 -ieee $(THREAD_CFLAGS) $(ARCHFLAGS)
+#CFLAGS = -O3 -ieee $(THREAD_CFLAGS) $(ARCHFLAGS)
+LFLAGS = -lm
+
+# IRIX 6.5 MIPSPro 7.2.1
 #CC = cc
-#CFLAGS = -g3 -ieee $(THREAD_CFLAGS)
-#CFLAGS = -O3 -ieee $(THREAD_CFLAGS)
+#ARCHFLAGS = -DDONT_MMAP
+#CFLAGS = -g $(THREAD_CFLAGS) -DMAP_ANONYMOUS=0 -woff 1048,1110,1164,1515 $(ARCHFLAGS)
+#CFLAGS = -O2 -OPT:Olimit=0 $(THREAD_CFLAGS) -DMAP_ANONYMOUS=0 $(ARCHFLAGS)
+#LFLAGS = -lm -lelfutil
 
-OBJ = main.o tables.o loader.o compiler.o newcomp.o builtin.o asmpart.o \
-    toolbox/toolbox.a native.o $(THREAD_OBJ)
-OBJH = headers.o tables.o loader.o builtin.o toolbox/toolbox.a $(THREAD_OBJ)
+OBJ = main.o tables.o loader.o compiler.o jit.o builtin.o asmpart.o \
+       toolbox/toolbox.a native.o $(THREAD_OBJ) mm/mm.o
+OBJH = headers.o tables.o loader.o builtin.o toolbox/toolbox.a $(THREAD_OBJ) \
+mm/mm.o
 
 cacao: $(OBJ)
-       $(CC) $(CFLAGS) -o cacao $(OBJ) -lm
+       $(CC) $(CFLAGS) -o cacao $(OBJ) $(LFLAGS)
 cacaoh: $(OBJH)
-       $(CC) $(CFLAGS) -o cacaoh $(OBJH) -lm
+       $(CC) $(CFLAGS) -o cacaoh $(OBJH) $(LFLAGS)
 
-main.o: main.c global.h tables.h compiler.h ncomp/ncomp.h loader.h \
+main.o: main.c global.h tables.h loader.h jit.h compiler.h \
         asmpart.h builtin.h native.h
 
 headers.o:  headers.c global.h tables.h loader.h
@@ -63,8 +84,8 @@ loader.o:   loader.c global.h loader.h tables.h native.h asmpart.h
 compiler.o: builtin.h compiler.h global.h loader.h tables.h native.h \
             asmpart.h compiler.c comp/*.c sysdep/gen.c sysdep/disass.c
 
-newcomp.o:  builtin.h ncomp/ncomp.h global.h loader.h tables.h native.h \
-            asmpart.h ncomp/ncompdef.h ncomp/*.c sysdep/ngen.h sysdep/ngen.c sysdep/disass.c
+jit.o:  builtin.h jit.h global.h loader.h tables.h native.h asmpart.h \
+            jit/jitdef.h jit/*.c sysdep/ngen.h sysdep/ngen.c sysdep/disass.c
 
 builtin.o: builtin.c global.h loader.h builtin.h tables.h sysdep/native-math.h
 
@@ -77,14 +98,17 @@ global.h: sysdep/types.h toolbox/*.h
        touch global.h
 
 toolbox/toolbox.a: toolbox/*.c toolbox/*.h
-       cd toolbox; make toolbox.a "CFLAGS=$(CFLAGS)" "CC=$(CC)" 
+       cd toolbox; $(MAKE) toolbox.a "CFLAGS=$(CFLAGS)" "CC=$(CC)" 
 
 ifeq ($(USE_THREADS),YES)
 threads/threads.a: threads/*.c threads/*.h sysdep/threads.h
-       cd threads; make threads.a "USE_THREADS=$(USE_THREADS)" "CFLAGS=$(CFLAGS)" "CC=$(CC)" 
+       cd threads; $(MAKE) threads.a "USE_THREADS=$(USE_THREADS)" "CFLAGS=$(CFLAGS)" "CC=$(CC)" 
 endif
 
-asmpart.o: sysdep/asmpart.c
+mm/mm.o: mm/*.[ch] mm/Makefile
+       cd mm; $(MAKE) mm.o "USE_THREADS=$(USE_THREADS)" "CFLAGS=$(CFLAGS)" "CC=$(CC)"
+
+asmpart.o: sysdep/asmpart.c sysdep/offsets.h
        rm -f asmpart.s
        $(CC) -E sysdep/asmpart.c > asmpart.s
        $(CC) -c -o asmpart.o asmpart.s
@@ -96,19 +120,52 @@ asmpart.o: sysdep/asmpart.c
 clean:
        rm -f *.o cacao cacaoh cacao.tgz nativetable.hh nativetypes.hh \
              core tst/core
-       cd toolbox; make clean
-       cd threads; make clean
+       cd toolbox; $(MAKE) clean
+       cd threads; $(MAKE) clean
+       cd mm; $(MAKE) clean
+
+
+### DISTRIBUTION TARGETS ###
+
+DISTRIBUTION_FILES = \
+Makefile \
+*/Makefile \
+README \
+COPYRIGHT \
+tst/*.java \
+doc/*.doc \
+html/*.html \
+*.[ch] \
+comp/*.[ch] \
+jit/*.[ch] \
+alpha/*.doc \
+alpha/*.[ch] \
+nat/*.[ch] \
+toolbox/*.[ch] \
+threads/*.[ch] \
+mm/*.[ch] \
+# sparc/*.[ch]
 
 tar:
        rm -f cacao.tgz cacao.tar
-       tar -cvf cacao.tar Makefile */Makefile README COPYRIGHT tst/*.java \
-           doc/*.doc html/*.html *.[ch] comp/*.[ch] ncomp/*.[ch] alpha/*.doc alpha/*.[ch] \
-           nat/*.[ch] toolbox/*.[ch] threads/*.[ch] # sparc/*.[ch]
+       tar -cvf cacao.tar $(DISTRIBUTION_FILES)
        ls -l cacao.tar
        gzip -9 cacao.tar
        mv cacao.tar.gz cacao.tgz
        ls -l cacao.tgz
 
+dist:
+       rm -rf cacao-$(VERSION_STRING).tar.gz cacao-$(VERSION_STRING);
+       ( mkdir cacao-$(VERSION_STRING); \
+         tar -cvf cacao-$(VERSION_STRING).tar $(DISTRIBUTION_FILES); \
+         cd cacao-$(VERSION_STRING); \
+         tar -xf ../cacao-$(VERSION_STRING).tar; \
+         cd ..; \
+         rm cacao-$(VERSION_STRING).tar; \
+         tar -cvf cacao-$(VERSION_STRING).tar cacao-$(VERSION_STRING); \
+         rm -rf cacao-$(VERSION_STRING); )
+       gzip -9 cacao-$(VERSION_STRING).tar
+       ls -l cacao-$(VERSION_STRING).tar.gz
 
 ########################## supported architectures #############################
 
@@ -117,20 +174,26 @@ config-alpha:
        ln -s alpha sysdep
        rm -f threads/sysdep
        ln -s ../sysdep threads/sysdep
-       make clean
+       $(MAKE) clean
 
 config-sparc:
        rm -f sysdep
        ln -s sparc sysdep
        rm -f threads/sysdep
        ln -s ../sysdep threads/sysdep
-       make clean
+       $(MAKE) clean
 
+config-mips:
+       rm -f sysdep
+       ln -s mips sysdep
+       rm -f threads/sysdep
+       ln -s ../sysdep threads/sysdep
+       $(MAKE) clean
 
 
 ##################### generation of NATIVE - header files ######################
 
-nativetypes.hh nativetable.hh : cacaoh
+sysdep/offsets.h nativetypes.hh nativetable.hh : cacaoh
        ./cacaoh java.lang.Object \
        java.lang.String \
        java.lang.Class \
@@ -155,5 +218,3 @@ nativetypes.hh nativetable.hh : cacaoh
 \
        java.util.Properties \
        java.util.Date
-       
-       
\ No newline at end of file