GNUmakefile: some more cleanups
parent
9a222a4163
commit
860641f759
120
GNUmakefile
120
GNUmakefile
|
@ -1,16 +1,15 @@
|
||||||
|
ifdef CONFIG
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CPP = g++
|
CPP = g++
|
||||||
AR = ar
|
AR = ar
|
||||||
LD = ld
|
LD = ld
|
||||||
|
|
||||||
EXECUTABLE = factor
|
|
||||||
CONSOLE_EXECUTABLE = factor-console
|
|
||||||
TEST_LIBRARY = factor-ffi-test
|
|
||||||
VERSION = 0.92
|
VERSION = 0.92
|
||||||
|
|
||||||
BUNDLE = Factor.app
|
BUNDLE = Factor.app
|
||||||
LIBPATH = -L/usr/X11R6/lib
|
LIBPATH = -L/usr/X11R6/lib
|
||||||
CFLAGS = -Wall
|
|
||||||
|
CFLAGS = -Wall $(SITE_CFLAGS)
|
||||||
|
|
||||||
ifdef DEBUG
|
ifdef DEBUG
|
||||||
CFLAGS += -g -DFACTOR_DEBUG
|
CFLAGS += -g -DFACTOR_DEBUG
|
||||||
|
@ -18,17 +17,11 @@ else
|
||||||
CFLAGS += -O3
|
CFLAGS += -O3
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef REENTRANT
|
include $(CONFIG)
|
||||||
CFLAGS += -DFACTOR_REENTRANT
|
|
||||||
endif
|
|
||||||
|
|
||||||
CFLAGS += $(SITE_CFLAGS)
|
|
||||||
|
|
||||||
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
ENGINE = $(DLL_PREFIX)factor$(DLL_SUFFIX)$(DLL_EXTENSION)
|
||||||
|
EXECUTABLE = factor$(EXE_SUFFIX)$(EXE_EXTENSION)
|
||||||
ifdef CONFIG
|
CONSOLE_EXECUTABLE = factor$(EXE_SUFFIX)$(CONSOLE_EXTENSION)
|
||||||
include $(CONFIG)
|
|
||||||
endif
|
|
||||||
|
|
||||||
DLL_OBJS = $(PLAF_DLL_OBJS) \
|
DLL_OBJS = $(PLAF_DLL_OBJS) \
|
||||||
vm/aging_collector.o \
|
vm/aging_collector.o \
|
||||||
|
@ -75,7 +68,10 @@ DLL_OBJS = $(PLAF_DLL_OBJS) \
|
||||||
|
|
||||||
EXE_OBJS = $(PLAF_EXE_OBJS)
|
EXE_OBJS = $(PLAF_EXE_OBJS)
|
||||||
|
|
||||||
|
FFI_TEST_LIBRARY = libfactor-ffi-test$(SHARED_DLL_EXTENSION)
|
||||||
|
|
||||||
TEST_OBJS = vm/ffi_test.o
|
TEST_OBJS = vm/ffi_test.o
|
||||||
|
endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$(MAKE) `./build-support/factor.sh make-target`
|
$(MAKE) `./build-support/factor.sh make-target`
|
||||||
|
@ -110,60 +106,62 @@ help:
|
||||||
@echo "X11=1 force link with X11 libraries instead of Cocoa (only on Mac OS X)"
|
@echo "X11=1 force link with X11 libraries instead of Cocoa (only on Mac OS X)"
|
||||||
|
|
||||||
openbsd-x86-32:
|
openbsd-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.openbsd.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.openbsd.x86.32
|
||||||
|
|
||||||
openbsd-x86-64:
|
openbsd-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.openbsd.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.openbsd.x86.64
|
||||||
|
|
||||||
freebsd-x86-32:
|
freebsd-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.freebsd.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.freebsd.x86.32
|
||||||
|
|
||||||
freebsd-x86-64:
|
freebsd-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.freebsd.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.freebsd.x86.64
|
||||||
|
|
||||||
netbsd-x86-32:
|
netbsd-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.netbsd.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.netbsd.x86.32
|
||||||
|
|
||||||
netbsd-x86-64:
|
netbsd-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.netbsd.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.netbsd.x86.64
|
||||||
|
|
||||||
macosx-ppc:
|
macosx-ppc:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) macosx.app CONFIG=vm/Config.macosx.ppc
|
$(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.ppc
|
||||||
|
|
||||||
macosx-x86-32:
|
macosx-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) macosx.app CONFIG=vm/Config.macosx.x86.32
|
$(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.x86.32
|
||||||
|
|
||||||
macosx-x86-64:
|
macosx-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) macosx.app CONFIG=vm/Config.macosx.x86.64
|
$(MAKE) factor factor-ffi-test macosx.app CONFIG=vm/Config.macosx.x86.64
|
||||||
|
|
||||||
linux-x86-32:
|
linux-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.linux.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.x86.32
|
||||||
|
|
||||||
linux-x86-64:
|
linux-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.linux.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.x86.64
|
||||||
|
|
||||||
linux-ppc:
|
linux-ppc:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.linux.ppc
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.ppc
|
||||||
|
|
||||||
linux-arm:
|
linux-arm:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.linux.arm
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.linux.arm
|
||||||
|
|
||||||
solaris-x86-32:
|
solaris-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.solaris.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.solaris.x86.32
|
||||||
|
|
||||||
solaris-x86-64:
|
solaris-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.solaris.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.solaris.x86.64
|
||||||
|
|
||||||
winnt-x86-32:
|
winnt-x86-32:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.windows.nt.x86.32
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.nt.x86.32
|
||||||
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.32
|
$(MAKE) factor-console CONFIG=vm/Config.windows.nt.x86.32
|
||||||
|
|
||||||
winnt-x86-64:
|
winnt-x86-64:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.windows.nt.x86.64
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.nt.x86.64
|
||||||
$(MAKE) $(CONSOLE_EXECUTABLE) CONFIG=vm/Config.windows.nt.x86.64
|
$(MAKE) factor-console CONFIG=vm/Config.windows.nt.x86.64
|
||||||
|
|
||||||
wince-arm:
|
wince-arm:
|
||||||
$(MAKE) $(EXECUTABLE) $(TEST_LIBRARY) CONFIG=vm/Config.windows.ce.arm
|
$(MAKE) factor factor-ffi-test CONFIG=vm/Config.windows.ce.arm
|
||||||
|
|
||||||
|
ifdef CONFIG
|
||||||
|
|
||||||
macosx.app: factor
|
macosx.app: factor
|
||||||
mkdir -p $(BUNDLE)/Contents/MacOS
|
mkdir -p $(BUNDLE)/Contents/MacOS
|
||||||
|
@ -177,20 +175,40 @@ macosx.app: factor
|
||||||
@executable_path/../Frameworks/libfactor.dylib \
|
@executable_path/../Frameworks/libfactor.dylib \
|
||||||
Factor.app/Contents/MacOS/factor
|
Factor.app/Contents/MacOS/factor
|
||||||
|
|
||||||
FACTOR_SHARED_LIBRARY:
|
$(ENGINE): $(DLL_OBJS)
|
||||||
$(TOOLCHAIN_PREFIX)$(LINKER) $(ENGINE) $(DLL_OBJS)
|
$(TOOLCHAIN_PREFIX)$(LINKER) $(ENGINE) $(DLL_OBJS)
|
||||||
|
|
||||||
$(EXECUTABLE): $(DLL_OBJS) $(EXE_OBJS) FACTOR_SHARED_LIBRARY
|
factor: $(EXE_OBJS) $(ENGINE)
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
||||||
$(CFLAGS) -o $@$(EXE_SUFFIX)$(EXE_EXTENSION) $(EXE_OBJS)
|
$(CFLAGS) -o $(EXECUTABLE) $(EXE_OBJS)
|
||||||
|
|
||||||
$(CONSOLE_EXECUTABLE): $(DLL_OBJS) $(EXE_OBJS) FACTOR_SHARED_LIBRARY
|
factor-console: $(EXE_OBJS) $(ENGINE)
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
$(TOOLCHAIN_PREFIX)$(CPP) $(LIBS) $(LIBPATH) -L. $(LINK_WITH_ENGINE) \
|
||||||
$(CFLAGS) $(CFLAGS_CONSOLE) -o factor$(EXE_SUFFIX)$(CONSOLE_EXTENSION) $(EXE_OBJS)
|
$(CFLAGS) $(CFLAGS_CONSOLE) -o $(CONSOLE_EXECUTABLE) $(EXE_OBJS)
|
||||||
|
|
||||||
|
factor-ffi-test: $(FFI_TEST_LIBRARY)
|
||||||
|
|
||||||
$(TEST_LIBRARY): vm/ffi_test.o
|
$(FFI_TEST_LIBRARY): vm/ffi_test.o
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) $(LIBPATH) $(CFLAGS) $(FFI_TEST_CFLAGS) $(SHARED_FLAG) -o libfactor-ffi-test$(SHARED_DLL_EXTENSION) $(TEST_OBJS)
|
$(TOOLCHAIN_PREFIX)$(CC) $(LIBPATH) $(CFLAGS) $(FFI_TEST_CFLAGS) $(SHARED_FLAG) -o $(FFI_TEST_LIBRARY) $(TEST_OBJS)
|
||||||
|
|
||||||
|
vm/resources.o:
|
||||||
|
$(TOOLCHAIN_PREFIX)$(WINDRES) vm/factor.rs vm/resources.o
|
||||||
|
|
||||||
|
vm/ffi_test.o: vm/ffi_test.c
|
||||||
|
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.S.o:
|
||||||
|
$(TOOLCHAIN_PREFIX)$(CC) -x assembler-with-cpp -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.mm.o:
|
||||||
|
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
.SUFFIXES: .mm
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f vm/*.o
|
rm -f vm/*.o
|
||||||
|
@ -202,24 +220,4 @@ clean:
|
||||||
tags:
|
tags:
|
||||||
etags vm/*.{cpp,hpp,mm,S,c}
|
etags vm/*.{cpp,hpp,mm,S,c}
|
||||||
|
|
||||||
vm/resources.o:
|
.PHONY: factor factor-console factor-ffi-test tags clean macosx.app
|
||||||
$(TOOLCHAIN_PREFIX)$(WINDRES) vm/factor.rs vm/resources.o
|
|
||||||
|
|
||||||
vm/ffi_test.o: vm/ffi_test.c
|
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) $(FFI_TEST_CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
.c.o:
|
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) -c $(CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
.cpp.o:
|
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
.S.o:
|
|
||||||
$(TOOLCHAIN_PREFIX)$(CC) -x assembler-with-cpp -c $(CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
.mm.o:
|
|
||||||
$(TOOLCHAIN_PREFIX)$(CPP) -c $(CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
.PHONY: factor tags clean
|
|
||||||
|
|
||||||
.SUFFIXES: .mm
|
|
||||||
|
|
Loading…
Reference in New Issue