diff --git a/prism/Makefile b/prism/Makefile index 16e92359..7f039e0e 100644 --- a/prism/Makefile +++ b/prism/Makefile @@ -150,19 +150,23 @@ export CC CXX LD JAVAC JAVACC # Flags etc. # ############## +# Tell compiler to generate debug information? +# (WARNING: must not contain a % symbol!) DEBUG = #DEBUG = -g +# Compiler optimisation level: +# (WARNING: must not contain a % symbol!) OPTIMISE = -O3 #OPTIMISE = -# warnings we'd like to get +# Compiler warnings to enable: +# (WARNING: must not contain a % symbol!) WARNINGS = -Wformat # Flags for compilation/linking # Flags to generate shared libraries # Executable/library naming conventions -# Option to pass to CUDD makefile # Suffix for binary distribution directory # Place to look for (JNI) headers # (requires GNU make for conditional evaluation) @@ -171,25 +175,22 @@ WARNINGS = -Wformat ifeq ($(OSTYPE),linux) ifeq ($(ARCH),amd64) # Position Independent Code required on AMD64/Itanium - CUDD_XCFLAGS = -m64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -m64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) BINDISTSUFFIX = linux64 else ifeq ($(ARCH),ia64) # Position Independent Code required on AMD64/Itanium # Note: We omit the -m64 flag from here since it seems to be unsupported by gcc on IA64 - CUDD_XCFLAGS = -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) BINDISTSUFFIX = linux64 else - CUDD_XCFLAGS = -m32 -malign-double -DHAVE_IEEE_754 -DBSD $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -m32 -malign-double -DHAVE_IEEE_754 -DBSD $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) BINDISTSUFFIX = linux32 endif endif @@ -205,10 +206,9 @@ ifeq ($(OSTYPE),linux) endif # Solaris ifeq ($(OSTYPE),solaris) - CUDD_XCFLAGS = -mcpu=ultrasparc -DHAVE_IEEE_754 -DUNIX100 -DEPD_BIG_ENDIAN $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -mcpu=ultrasparc -DHAVE_IEEE_754 -DUNIX100 -DEPD_BIG_ENDIAN $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) BINDISTSUFFIX = solaris BIN_TARGETS=prism.linux xprism.linux JFLAGS = -encoding UTF8 @@ -222,18 +222,16 @@ endif # Cygwin ifeq ($(OSTYPE),cygwin) ifeq ($(ARCH),x86_64) - CUDD_XCFLAGS = -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=4 $(DEBUG) $(WARNINGS) -static-libgcc -static-libstdc++ - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=4 $(DEBUG) $(OPTIMISE) $(WARNINGS) -static-libgcc -static-libstdc++ # need -DWIN32 for lpsolve (WIN32 is only defined by mingw/gcc without --std=c++11) - CXXFLAGS = --std=c++11 -DWIN32 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive + CXXFLAGS = --std=c++11 -DWIN32 $(CFLAGS) + LDFLAGS = $(CFLAGS) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive BINDISTSUFFIX = win64 else - CUDD_XCFLAGS = -march=i686 -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 $(DEBUG) $(WARNINGS) -static-libgcc -static-libstdc++ - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) + CFLAGS = -march=i686 -malign-double -DHAVE_IEEE_754 -DHAVE_GETRLIMIT=0 -DRLIMIT_DATA_DEFAULT=268435456 -DHAVE_SYS_RESOURCE_H=0 -DHAVE_SYS_WAIT_H=0 $(DEBUG) $(OPTIMISE) $(WARNINGS) -static-libgcc -static-libstdc++ # need -DWIN32 for lpsolve (WIN32 is only defined by mingw/gcc without --std=c++11) - CXXFLAGS = --std=c++11 -DWIN32 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive + CXXFLAGS = --std=c++11 -DWIN32 $(CFLAGS) + LDFLAGS = $(CFLAGS) -Wl,--add-stdcall-alias -Wl,-Bstatic,--whole-archive -lpthread -Wl,-Bdynamic,--no-whole-archive BINDISTSUFFIX = win32 endif BIN_TARGETS=prism.cygwin xprism.linux prism.bat.win xprism.bat.win @@ -249,17 +247,15 @@ endif # Darwin ifeq ($(OSTYPE),darwin) ifeq ($(ARCH),x86_64) - CUDD_XCFLAGS = -arch x86_64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -fno-common $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,-search_paths_first + CFLAGS = -arch x86_64 -fPIC -DPIC -DHAVE_IEEE_754 -DBSD -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -fno-common $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) -Wl,-search_paths_first BINDISTSUFFIX = osx64 BIN_TARGETS=prism.darwin64 xprism.linux else - CUDD_XCFLAGS = -arch i386 -DHAVE_IEEE_754 -DBSD -fno-common $(DEBUG) $(WARNINGS) - CFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) - CXXFLAGS = --std=c++11 $(CUDD_XCFLAGS) $(OPTIMISE) - LDFLAGS = $(CUDD_XCFLAGS) $(OPTIMISE) -Wl,-search_paths_first + CFLAGS = -arch i386 -DHAVE_IEEE_754 -DBSD -fno-common $(DEBUG) $(OPTIMISE) $(WARNINGS) + CXXFLAGS = --std=c++11 $(CFLAGS) + LDFLAGS = $(CFLAGS) -Wl,-search_paths_first BINDISTSUFFIX = osx32 BIN_TARGETS=prism.darwin32 xprism.linux endif @@ -328,7 +324,7 @@ cuddpackage: checks @(if [ ! -h $(CUDD_DIR) ]; then \ echo Making cudd ...; \ cd $(CUDD_DIR) && \ - $(MAKE) XCFLAGS="$(CUDD_XCFLAGS)"; \ + $(MAKE) ICFLAGS="$(DEBUG) $(OPTIMISE) $(WARNINGS)" XCFLAGS="$(filter-out $(DEBUG) $(OPTIMISE) $(WARNINGS),$(CFLAGS))"; \ else \ echo Skipping cudd make since it is a symlink...; \ fi) @@ -337,7 +333,7 @@ cuddpackage: checks cuddpackageforce: checks @echo Making cudd ...; \ cd $(CUDD_DIR) && \ - $(MAKE) XCFLAGS="$(CUDD_XCFLAGS)"; + $(MAKE) ICFLAGS="$(DEBUG) $(OPTIMISE) $(WARNINGS)" XCFLAGS="$(filter-out $(DEBUG) $(OPTIMISE) $(WARNINGS),$(CFLAGS))" # Use this to force a rebuild (with javacc) of the main parser parser: