makelib/config-linux-gnu.make
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 15 Jun 2018 23:59:15 +0200
changeset 237 69ab924b97bf
parent 236 5a4e789cdd40
child 244 8de3e1d78d6a
permissions -rw-r--r--
Rakefiles: fixes to make it working on SWING build slaves ...namely: * fixed `specs\repositories.spec` * fixed `bin\stmkmf.rv` not to include `Make.spec` if there isn't one (lime in `stx/librun`) * removed executable mode on couple files * don't build nor publish artifacts in in "build" pipeline * fixed updating of librun / stc on SWING CI (should not try to download pre-built binaries from CI - this is only for people with no access to stc / librun sources.

#------------------ start of linux-elf/COMMON/defines ---------------------
#
# $Header: /cvs/stx/stx/configurations/linux-elf/COMMON/defines,v 1.92 2016-07-19 19:56:46 stefan Exp $
include $(MAKELIB)/config.make

CCARCHCOMMONOPT=-DELF
#RELOCINSTVARS=+relocInstvars

INTERN_H=linuxIntern.h
CPUINTERN_H=$(INCLUDE)/linuxIntern.h
OS=-DLINUX

#OPTIONAL_DL_LIB=-ldl
#OPTIONAL_LIBDL_TARGET=libdld



MAKEFILE_EXTENSION=linux-elf

# ALL_TARGET=LINUX_i386_ELF

MAKEFLAGS += --no-print-directory
MAKE_INCLUDE=include
INSTALL=install
INSTALL_BIN_CMD=install -s -m 0755
INSTALL_SCRIPT_CMD=install -m 0755
COMPRESSOR=gzip
COMPRESSED_FILETYPE=targz
SETUP_RULE=setup_linux

# We need to use at most GCC 6.x, some code may fail to compile
# with GCC 7 due to -Werror (`send.c` for instance). We won't fix
# that for Smalltalk/X 6.x.x, will be fixed only for Smalltalk/X 8.0.0
ifeq ($(CC),cc)
  ifneq ($(shell which gcc-6),)
    CC = gcc-6
  else ifneq ($(shell which gcc-5),)
    CC = gcc-5
  else ifneq ($(shell which gcc-4),)
    CC = gcc-4
  endif
endif


#
# use static librt for clock_gettime().
# dynamic librt causes libpthread to be loaded that does not
# work with stx' stack layout
#

OTHERLIBS=-ldl -Wl,-Bstatic,-lrt,-Bdynamic
OTHERLIBS=-ldl -lrt
OTHERLIBS=-ldl -lrt -lc
STATIC_OTHERLIBS=
LDFLAGS=-Llib -L/usr/local/lib -L/usr/X11/lib \
	-Wl,-z,now,-rpath,'$$ORIGIN',-rpath,'$$ORIGIN/lib',-rpath,'$$ORIGIN/../lib',--wrap=memcpy

SPECIAL_LIBRUN_RULE=allLINUX


FORCE_LINK_LIBRUN=1

# mhm - these should now only be in libview!


ARCH_LIBSNMP=$(TOP)/libsnmp
ARCH_CLASSLIBDIRS=$(ARCH_LIBSNMP)


#
# a netsnmp library
#
# if already in /usr/lib:
# DYNAMIC_LINK_LIB_NETSNMP=-lnetsnmp
# STATIC_LINK_LIB_NETSNMP=
# TARGET_LIB_NETSNMP=
#
# if a local one should be built and used:
DYNAMIC_LINK_LIB_NETSNMP=-L$(NETSNMP_LIBDIR)/.libs -L$(NETSNMP_LIBDIR) $(NETSNMP_LIBDIR)/.libs/libnetsnmp.a -lrt
STATIC_LINK_LIB_NETSNMP=
TARGET_LIB_NETSNMP=snmplib


STATIC_LIB_X   =$(X_LIB_DIR)/libX11.a
STATIC_LIB_XEXT=$(X_LIB_DIR)/libXext.a
STATIC_LIB_XT  =$(X_LIB_DIR)/libXt.a
STATIC_LIB_XAW =$(X_LIB_DIR)/libXaw.a
STATIC_LIB_XMU =$(X_LIB_DIR)/libXmu.a

# the following defs are for using the system's usb lib (only needed in some apps);
USB_LIB_DIR=
USB_LIB_ARG=-lusb
USB_LIB_DIR_ARG=-L/usr/lib
USB_MAKE_TARGET=

MATRIXLOCK_DIR=$(TOP)/../exept/setup/ml
MATRIXLOCK_LIB_ARG=-L$(MATRIXLOCK_DIR)/lib -lmxlin260 -lusb
#------------------ end of linux-elf/COMMON/defines ---------------------