ifdef CONFIG
CC = gcc
CPP = g++
- AR = ar
- LD = ld
- VERSION = 0.93
+ VERSION = 0.94
BUNDLE = Factor.app
LIBPATH = -L/usr/X11R6/lib
vm/free_list.o \
vm/full_collector.o \
vm/gc.o \
+ vm/gc_info.o \
vm/image.o \
vm/inline_cache.o \
vm/instruction_operands.o \
vm/object_start_map.o \
vm/objects.o \
vm/primitives.o \
- vm/profiler.o \
+ vm/counting_profiler.o \
vm/quotations.o \
vm/run.o \
vm/strings.o \
vm/to_tenured_collector.o \
vm/tuples.o \
vm/utilities.o \
- vm/vm.o \
+ vm/vm.o \
vm/words.o
EXE_OBJS = $(PLAF_EXE_OBJS)
@echo "freebsd-x86-64"
@echo "linux-x86-32"
@echo "linux-x86-64"
- @echo "linux-ppc"
+ @echo "linux-ppc-32"
+ @echo "linux-ppc-64"
@echo "linux-arm"
@echo "openbsd-x86-32"
@echo "openbsd-x86-64"
@echo "macosx-ppc"
@echo "solaris-x86-32"
@echo "solaris-x86-64"
- @echo "wince-arm"
- @echo "winnt-x86-32"
- @echo "winnt-x86-64"
+ @echo "windows-x86-32"
+ @echo "windows-x86-64"
@echo ""
@echo "Additional modifiers:"
@echo ""
@echo "NO_UI=1 don't link with X11 libraries (ignored on Mac OS X)"
@echo "X11=1 force link with X11 libraries instead of Cocoa (only on Mac OS X)"
+ALL = factor factor-ffi-test factor-lib
+
openbsd-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.openbsd.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.openbsd.x86.32
openbsd-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.openbsd.x86.64
+ $(MAKE) $(ALL) CONFIG=vm/Config.openbsd.x86.64
freebsd-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.freebsd.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.freebsd.x86.32
freebsd-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.freebsd.x86.64
+ $(MAKE) $(ALL) CONFIG=vm/Config.freebsd.x86.64
netbsd-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.netbsd.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.netbsd.x86.32
netbsd-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.netbsd.x86.64
+ $(MAKE) $(ALL) CONFIG=vm/Config.netbsd.x86.64
macosx-ppc:
- $(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.ppc
+ $(MAKE) $(ALL) macosx.app CONFIG=vm/Config.macosx.ppc
macosx-x86-32:
- $(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.x86.32
+ $(MAKE) $(ALL) macosx.app CONFIG=vm/Config.macosx.x86.32
macosx-x86-64:
- $(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.x86.64
+ $(MAKE) $(ALL) macosx.app CONFIG=vm/Config.macosx.x86.64
linux-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.linux.x86.32
linux-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.x86.64
+ $(MAKE) $(ALL) CONFIG=vm/Config.linux.x86.64
+
+linux-ppc-32:
+ $(MAKE) $(ALL) CONFIG=vm/Config.linux.ppc.32
-linux-ppc:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.ppc
+linux-ppc-64:
+ $(MAKE) $(ALL) CONFIG=vm/Config.linux.ppc.64
linux-arm:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.arm
+ $(MAKE) $(ALL) CONFIG=vm/Config.linux.arm
solaris-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.solaris.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.solaris.x86.32
solaris-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.solaris.x86.64
-
-winnt-x86-32:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.nt.x86.32
- $(MAKE) factor-console CONFIG=vm/Config.windows.nt.x86.32
+ $(MAKE) $(ALL) CONFIG=vm/Config.solaris.x86.64
-winnt-x86-64:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.nt.x86.64
- $(MAKE) factor-console CONFIG=vm/Config.windows.nt.x86.64
+windows-x86-32:
+ $(MAKE) $(ALL) CONFIG=vm/Config.windows.x86.32
+ $(MAKE) factor-console CONFIG=vm/Config.windows.x86.32
-wince-arm:
- $(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.ce.arm
+windows-x86-64:
+ $(MAKE) $(ALL) CONFIG=vm/Config.windows.x86.64
+ $(MAKE) factor-console CONFIG=vm/Config.windows.x86.64
ifdef CONFIG
$(ENGINE): $(DLL_OBJS)
$(TOOLCHAIN_PREFIX)$(LINKER) $(ENGINE) $(DLL_OBJS)
+factor-lib: $(ENGINE)
+
factor: $(EXE_OBJS) $(DLL_OBJS)
- $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(DLL_OBJS) \
- $(CFLAGS) -o $(EXECUTABLE) $(EXE_OBJS)
+ $(TOOLCHAIN_PREFIX)$(CPP) $(LIBPATH) -L. $(DLL_OBJS) \
+ $(CFLAGS) -o $(EXECUTABLE) $(LIBS) $(EXE_OBJS)
factor-console: $(EXE_OBJS) $(DLL_OBJS)
- $(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(DLL_OBJS) \
- $(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(EXE_OBJS)
+ $(TOOLCHAIN_PREFIX)$(CPP) $(LIBPATH) -L. $(DLL_OBJS) \
+ $(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(LIBS) $(EXE_OBJS)
factor-ffi-test: $(FFI_TEST_LIBRARY)
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
.S.o:
- $(TOOLCHAIN_PREFIX)$(CC) -x assembler-with-cpp -c $(CFLAGS) -o $@ $<
+ $(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
.mm.o:
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
rm -f libfactor-ffi-test.*
rm -f Factor.app/Contents/Frameworks/libfactor.dylib
-tags:
- etags vm/*.{cpp,hpp,mm,S,c}
-
-.PHONY: factor factor-console factor-ffi-test tags clean macosx.app
+.PHONY: factor factor-lib factor-console factor-ffi-test tags clean macosx.app