GNUmakefile: use PCH so compiler goes faster
Also add more accurate dependencies on headers so "make" works right when headers changedb4
parent
72d335f2b5
commit
b46fd5e655
|
@ -1,5 +1,6 @@
|
||||||
*~
|
*~
|
||||||
_darcs
|
_darcs
|
||||||
|
*.gch
|
||||||
*.obj
|
*.obj
|
||||||
*.o
|
*.o
|
||||||
*.s
|
*.s
|
||||||
|
|
79
GNUmakefile
79
GNUmakefile
|
@ -68,6 +68,75 @@ ifdef CONFIG
|
||||||
vm/vm.o \
|
vm/vm.o \
|
||||||
vm/words.o
|
vm/words.o
|
||||||
|
|
||||||
|
MASTER_HEADERS = $(PLAF_MASTER_HEADERS) \
|
||||||
|
vm/layouts.hpp \
|
||||||
|
vm/platform.hpp \
|
||||||
|
vm/primitives.hpp \
|
||||||
|
vm/segments.hpp \
|
||||||
|
vm/gc_info.hpp \
|
||||||
|
vm/contexts.hpp \
|
||||||
|
vm/run.hpp \
|
||||||
|
vm/objects.hpp \
|
||||||
|
vm/counting_profiler.hpp \
|
||||||
|
vm/sampling_profiler.hpp \
|
||||||
|
vm/errors.hpp \
|
||||||
|
vm/bignumint.hpp \
|
||||||
|
vm/bignum.hpp \
|
||||||
|
vm/booleans.hpp \
|
||||||
|
vm/instruction_operands.hpp \
|
||||||
|
vm/code_blocks.hpp \
|
||||||
|
vm/bump_allocator.hpp \
|
||||||
|
vm/bitwise_hacks.hpp \
|
||||||
|
vm/mark_bits.hpp \
|
||||||
|
vm/free_list.hpp \
|
||||||
|
vm/fixup.hpp \
|
||||||
|
vm/tuples.hpp \
|
||||||
|
vm/free_list_allocator.hpp \
|
||||||
|
vm/write_barrier.hpp \
|
||||||
|
vm/object_start_map.hpp \
|
||||||
|
vm/nursery_space.hpp \
|
||||||
|
vm/aging_space.hpp \
|
||||||
|
vm/tenured_space.hpp \
|
||||||
|
vm/data_heap.hpp \
|
||||||
|
vm/code_heap.hpp \
|
||||||
|
vm/gc.hpp \
|
||||||
|
vm/debug.hpp \
|
||||||
|
vm/strings.hpp \
|
||||||
|
vm/words.hpp \
|
||||||
|
vm/float_bits.hpp \
|
||||||
|
vm/io.hpp \
|
||||||
|
vm/image.hpp \
|
||||||
|
vm/alien.hpp \
|
||||||
|
vm/callbacks.hpp \
|
||||||
|
vm/dispatch.hpp \
|
||||||
|
vm/entry_points.hpp \
|
||||||
|
vm/safepoints.hpp \
|
||||||
|
vm/vm.hpp \
|
||||||
|
vm/allot.hpp \
|
||||||
|
vm/tagged.hpp \
|
||||||
|
vm/data_roots.hpp \
|
||||||
|
vm/code_roots.hpp \
|
||||||
|
vm/generic_arrays.hpp \
|
||||||
|
vm/callstack.hpp \
|
||||||
|
vm/slot_visitor.hpp \
|
||||||
|
vm/collector.hpp \
|
||||||
|
vm/copying_collector.hpp \
|
||||||
|
vm/nursery_collector.hpp \
|
||||||
|
vm/aging_collector.hpp \
|
||||||
|
vm/to_tenured_collector.hpp \
|
||||||
|
vm/code_block_visitor.hpp \
|
||||||
|
vm/compaction.hpp \
|
||||||
|
vm/full_collector.hpp \
|
||||||
|
vm/arrays.hpp \
|
||||||
|
vm/math.hpp \
|
||||||
|
vm/byte_arrays.hpp \
|
||||||
|
vm/jit.hpp \
|
||||||
|
vm/quotations.hpp \
|
||||||
|
vm/inline_cache.hpp \
|
||||||
|
vm/mvm.hpp \
|
||||||
|
vm/factor.hpp \
|
||||||
|
vm/utilities.hpp
|
||||||
|
|
||||||
EXE_OBJS = $(PLAF_EXE_OBJS)
|
EXE_OBJS = $(PLAF_EXE_OBJS)
|
||||||
|
|
||||||
FFI_TEST_LIBRARY = libfactor-ffi-test$(SHARED_DLL_EXTENSION)
|
FFI_TEST_LIBRARY = libfactor-ffi-test$(SHARED_DLL_EXTENSION)
|
||||||
|
@ -165,13 +234,16 @@ vm/resources.o:
|
||||||
vm/ffi_test.o: vm/ffi_test.c
|
vm/ffi_test.o: vm/ffi_test.c
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $<
|
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $<
|
||||||
|
|
||||||
.cpp.o:
|
vm/master.hpp.gch: vm/master.hpp $(MASTER_HEADERS)
|
||||||
|
$(TOOLCHAIN_PREFIX)$(CPP) -c -x c++-header $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
%.o: %.cpp vm/master.hpp.gch
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
.S.o:
|
%.o: %.S
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
|
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
.mm.o:
|
%.o: %.mm vm/master.hpp.gch
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
.SUFFIXES: .mm
|
.SUFFIXES: .mm
|
||||||
|
@ -179,6 +251,7 @@ vm/ffi_test.o: vm/ffi_test.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
rm -f vm/*.gch
|
||||||
rm -f vm/*.o
|
rm -f vm/*.o
|
||||||
rm -f factor.dll
|
rm -f factor.dll
|
||||||
rm -f factor.lib
|
rm -f factor.lib
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
PLAF_MASTER_HEADERS += \
|
||||||
|
cpu-arm.hpp
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include vm/Config.unix
|
include vm/Config.unix
|
||||||
PLAF_DLL_OBJS += vm/os-genunix.o vm/os-linux.o vm/mvm-unix.o
|
PLAF_DLL_OBJS += vm/os-genunix.o vm/os-linux.o vm/mvm-unix.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-genunix.hpp vm/os-linux.hpp
|
||||||
LIBS = -ldl -lm -lrt -lpthread $(X11_UI_LIBS) -Wl,--export-dynamic
|
LIBS = -ldl -lm -lrt -lpthread $(X11_UI_LIBS) -Wl,--export-dynamic
|
||||||
SITE_CFLAGS += -Wl,--no-as-needed
|
SITE_CFLAGS += -Wl,--no-as-needed
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
include vm/Config.linux
|
include vm/Config.linux
|
||||||
include vm/Config.arm
|
include vm/Config.arm
|
||||||
PLAF_DLL_OBJS += vm/os-linux-arm.o
|
PLAF_DLL_OBJS += vm/os-linux-arm.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-linux-arm.hpp
|
||||||
|
|
|
@ -2,6 +2,7 @@ include vm/Config.unix
|
||||||
CFLAGS += -fPIC
|
CFLAGS += -fPIC
|
||||||
|
|
||||||
PLAF_DLL_OBJS += vm/os-macosx.o vm/mach_signal.o vm/mvm-unix.o
|
PLAF_DLL_OBJS += vm/os-macosx.o vm/mach_signal.o vm/mvm-unix.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-macosx.hpp vm/mach_signal.hpp
|
||||||
|
|
||||||
DLL_EXTENSION = .dylib
|
DLL_EXTENSION = .dylib
|
||||||
SHARED_DLL_EXTENSION = .dylib
|
SHARED_DLL_EXTENSION = .dylib
|
||||||
|
|
|
@ -10,6 +10,7 @@ SHARED_FLAG = -shared
|
||||||
|
|
||||||
PLAF_DLL_OBJS = vm/os-unix.o
|
PLAF_DLL_OBJS = vm/os-unix.o
|
||||||
PLAF_EXE_OBJS += vm/main-unix.o
|
PLAF_EXE_OBJS += vm/main-unix.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-unix.hpp
|
||||||
|
|
||||||
ifdef NO_UI
|
ifdef NO_UI
|
||||||
X11_UI_LIBS =
|
X11_UI_LIBS =
|
||||||
|
|
|
@ -7,6 +7,7 @@ LIBS = -lm
|
||||||
|
|
||||||
PLAF_DLL_OBJS += vm/os-windows.o vm/mvm-windows.o
|
PLAF_DLL_OBJS += vm/os-windows.o vm/mvm-windows.o
|
||||||
PLAF_EXE_OBJS += vm/resources.o vm/main-windows.o
|
PLAF_EXE_OBJS += vm/resources.o vm/main-windows.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-windows.hpp vm/mvm-windows.hpp
|
||||||
|
|
||||||
EXE_SUFFIX=
|
EXE_SUFFIX=
|
||||||
EXE_EXTENSION=.exe
|
EXE_EXTENSION=.exe
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
PLAF_DLL_OBJS += vm/os-windows-x86.32.o
|
PLAF_DLL_OBJS += vm/os-windows-x86.32.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-windows.32.hpp
|
||||||
DLL_PATH=http://factorcode.org/dlls
|
DLL_PATH=http://factorcode.org/dlls
|
||||||
WINDRES=windres
|
WINDRES=windres
|
||||||
include vm/Config.windows
|
include vm/Config.windows
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
PLAF_DLL_OBJS += vm/os-windows-x86.64.o
|
PLAF_DLL_OBJS += vm/os-windows-x86.64.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/os-windows.64.hpp
|
||||||
DLL_PATH=http://factorcode.org/dlls/64
|
DLL_PATH=http://factorcode.org/dlls/64
|
||||||
CC=$(WIN64_PATH)-gcc.exe
|
CC=$(WIN64_PATH)-gcc.exe
|
||||||
WINDRES=$(WIN64_PATH)-windres.exe
|
WINDRES=$(WIN64_PATH)-windres.exe
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
PLAF_DLL_OBJS += vm/cpu-x86.o
|
PLAF_DLL_OBJS += vm/cpu-x86.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/cpu-x86.hpp
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
PLAF_DLL_OBJS += vm/cpu-x86.o
|
PLAF_DLL_OBJS += vm/cpu-x86.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/cpu-x86.hpp
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
PLAF_DLL_OBJS += vm/cpu-x86.o
|
PLAF_DLL_OBJS += vm/cpu-x86.o
|
||||||
|
PLAF_MASTER_HEADERS += vm/cpu-x86.hpp
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue