# 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
THREAD_CFLAGS =
endif
-#CC = gcc
-#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
-#CFLAGS = -g3 -ieee $(THREAD_CFLAGS)
-CFLAGS = -O3 -ieee $(THREAD_CFLAGS)
-
-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)
+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
+#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 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
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
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
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 #############################
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 \
\
java.util.Properties \
java.util.Date
-
-
\ No newline at end of file