diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-12-07 20:08:54 +0100 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-12-07 20:08:54 +0100 |
commit | dd574ba3eabee4f9f8661ea21619b6352cb9a935 (patch) | |
tree | 73e78a88d17b6070afe8a99b856efd9ff4789b0c /makefiles/gmake/platform.mk | |
parent | 7de22b92399504daf951c830b3b0d7d7cffc3d9f (diff) | |
download | crawler-dd574ba3eabee4f9f8661ea21619b6352cb9a935.tar.gz crawler-dd574ba3eabee4f9f8661ea21619b6352cb9a935.tar.bz2 |
fixed postgres tests, synched makefile system with the one from sqlite3xx
Diffstat (limited to 'makefiles/gmake/platform.mk')
-rw-r--r-- | makefiles/gmake/platform.mk | 219 |
1 files changed, 210 insertions, 9 deletions
diff --git a/makefiles/gmake/platform.mk b/makefiles/gmake/platform.mk index 36d5ebb..452c9e1 100644 --- a/makefiles/gmake/platform.mk +++ b/makefiles/gmake/platform.mk @@ -7,28 +7,229 @@ # # provides: # - PLATFORM -# - OS_MAJOR_VERSION -# - OS_MINOR_VERSION +# - OS_MAJOR_VERSION and OS_MINOR_VERSION +# - GCC_MAJOR_VERSION and GCC_MINOR_VERSION # - PLATFORM_COMPILE_FLAGS # - EXE # - SO +# - INSTALL # # author: Andreas Baumann, abaumann at yahoo dot com -PLATFORM = $(shell $(TOPDIR)/makefiles/gmake/guess_env --platform) -OS_MAJOR_VERSION = $(shell $(TOPDIR)/makefiles/gmake/guess_env --os-major-version) -OS_MINOR_VERSION = $(shell $(TOPDIR)/makefiles/gmake/guess_env --os-minor-version) +-include $(TOPDIR)/makefiles/gmake/platform.mk.vars + +PLATFORM ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --platform $(CC) "$(CURDIR)" $(TOPDIR)) +OS_MAJOR_VERSION ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --os-major-version $(CC) "$(CURDIR)" $(TOPDIR)) +OS_MINOR_VERSION ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --os-minor-version $(CC) "$(CURDIR)" $(TOPDIR)) +COMPILER ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --compiler $(CC) "$(CURDIR)" $(TOPDIR)) +ifeq "$(PLATFORM)" "LINUX" +LINUX_DIST ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --linux-dist $(CC) "$(CURDIR)" $(TOPDIR)) +LINUX_REV ?= $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --linux-rev $(CC) "$(CURDIR)" $(TOPDIR)) +endif + +# platform specific flags +######################### PLATFORM_COMPILE_FLAGS = \ -D$(PLATFORM) \ -DOS_MAJOR_VERSION=$(OS_MAJOR_VERSION) \ -DOS_MINOR_VERSION=$(OS_MINOR_VERSION) -LIBS_DL = $(shell $(TOPDIR)/makefiles/gmake/guess_env --libs-dl) -LIBS_SSP = $(shell $(TOPDIR)/makefiles/gmake/guess_env --libs-ssl) +ifeq "$(PLATFORM)" "LINUX" +PLATFORM_COMPILE_FLAGS += \ + -DLINUX_DIST=$(LINUX_DIST) -DLINUX_REV=$(LINUX_REV) +endif +# extensions for binaries +ifeq "$(PLATFORM)" "CYGWIN" +EXE = .exe +else EXE = +endif + +# extensions for shared libraries +# (TOOD: HP/Unix has .shlib, Mac/X has .lib, but we can't test it currently) SO = .so -GCC_MAJOR_VERSION = $(shell $(TOPDIR)/makefiles/gmake/guess_env --gcc-major-version $(CC)) -GCC_MINOR_VERSION = $(shell $(TOPDIR)/makefiles/gmake/guess_env --gcc-minor-version $(CC)) +# name if the installation program +# (TODO: use the MIT or openradio install-sh script instead?) +INSTALL = $(shell $(SHELL) $(TOPDIR)/makefiles/gmake/guess_env --install) +ifeq "$(PLATFORM)" "SUNOS" +INSTALL = /usr/ucb/install +else +INSTALL = install +endif + +# dynamic linker +################ + +# the linker library for dynamically loadable modules +# (TODO: check for all platforms, as soon we add loadable modules here from +# old TextWolf) +ifeq "$(PLATFORM)" "LINUX" +LIBS_DL = -ldl +else +LIBS_DL = +endif + +# i18n, gettext/libintl +####################### + +# enable or disable internationalization code +ENABLE_NLS = 1 + +ifeq "$(ENABLE_NLS)" "1" + +# we relly only on the GNU version, other versions (e.g. Solaris) are not +# so nice.. + +MSGFMT=msgfmt +MSGMERGE=msgmerge +XGETTEXT=xgettext + +# the GNU internationalization support is sometimes in separate libarries +ifeq "$(PLATFORM)" "LINUX" +INCLUDE_FLAGS_LT = +LDFLAGS_LT = +LIBS_LT = +endif + +ifeq "$(PLATFORM)" "SUNOS" +INCLUDE_FLAGS_LT = -I/usr/local/include +LDFLAGS_LT = -L/usr/local/lib +LIBS_LT = -lintl +endif + +ifeq "$(PLATFORM)" "FREEBSD" +INCLUDE_FLAGS_LT = -I/usr/local/include +LDFLAGS_LT = -L/usr/local/lib +LIBS_LT = -lintl +endif + +ifeq "$(PLATFORM)" "OPENBSD" +INCLUDE_FLAGS_LT = -I/usr/local/include +LDFLAGS_LT = -L/usr/local/lib +LIBS_LT = -lintl -liconv +endif + +ifeq "$(PLATFORM)" "CYGWIN" +INCLUDE_FLAGS_LT = +LDFLAGS_LT = +LIBS_LT = -lintl +endif + +ifeq "$(PLATFORM)" "NETBSD" +INCLUDE_FLAGS_LT = +LDFLAGS_LT = +LIBS_LT = -lintl +endif + +PLATFORM_COMPILE_FLAGS += $(INCLUDE_FLAGS_LT) + +endif + +PLATFORM_COMPILE_FLAGS += \ + -DENABLE_NLS=$(ENABLE_NLS) -DLOCALEDIR=\"$(localedir)\" + +# command line parser generator gengetopt +######################################## + +# location of gengetopt (default: in the path) +GENGETOPT=gengetopt + +# some platform either have no getopt/getopt_long or a broken one, so +# gengetopt can include its own one + +GENGETOPT_INCLUDE_GETOPT = + +ifeq "$(PLATFORM)" "SUNOS" +ifeq "$(OS_MAJOR_VERSION)" "5" +ifeq "$(OS_MINOR_VERSION)" "8" +GENGETOPT_INCLUDE_GETOPT = --include-getopt +endif +endif + +endif + +# TCP/IP, DNS +############# + +ifeq "$(PLATFORM)" "LINUX" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = +endif + +ifeq "$(PLATFORM)" "SUNOS" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = -lsocket -lnsl +endif + +ifeq "$(PLATFORM)" "FREEBSD" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = +endif + +ifeq "$(PLATFORM)" "OPENBSD" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = +endif + +ifeq "$(PLATFORM)" "CYGWIN" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = +endif + +ifeq "$(PLATFORM)" "NETBSD" +INCLUDE_FLAGS_NET = +LDFLAGS_NET = +LIBS_NET = +endif + +PLATFORM_COMPILE_FLAGS += $(INCLUDE_FLAGS_NET) + +# sqlite3 +######### + +# the GNU internationalization support is sometimes in separate libarries +ifeq "$(PLATFORM)" "LINUX" +INCLUDE_FLAGS_SQLITE3 = -I/usr/include +LDFLAGS_SQLITE3 = -L/usr/lib +LIBS_SQLITE3 = -lsqlite3 +endif + +ifeq "$(PLATFORM)" "SUNOS" +INCLUDE_FLAGS_SQLITE3 = +LDFLAGS_SQLITE3 = +LIBS_SQLITE3 = -lsqlite3 +endif + +ifeq "$(PLATFORM)" "FREEBSD" +INCLUDE_FLAGS_SQLITE3 = +LDFLAGS_SQLITE3 = +LIBS_SQLITE3 = -lsqlite3 +endif + +ifeq "$(PLATFORM)" "OPENBSD" +INCLUDE_FLAGS_SQLITE3 = +LDFLAGS_SQLITE3 = +LIBS_SQLITE3 = -lsqlite3 +endif + +ifeq "$(PLATFORM)" "CYGWIN" +INCLUDE_FLAGS_SQLITE3 = +LDFLAGS_SQLITE3 = +LIBS_SQLITE3 = -lsqlite3 +endif + +ifeq "$(PLATFORM)" "NETBSD" +INCLUDE_FLAGS_SQLITE3 = -I/usr/pkg/include +LDFLAGS_SQLITE3 = -L/usr/pkg/lib +LIBS_SQLITE3 = -lsqlite3 +endif + +PLATFORM_COMPILE_FLAGS += $(INCLUDE_FLAGS_SQLITE3) |