makelib/config-linux-gnu.make
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 15 Aug 2017 10:44:12 +0100
branchstx-8.0.0
changeset 169 f9f519bb10b6
parent 135 makelib/config-linux.make@0325651d2b43
child 180 5d778c4d94f0
permissions -rw-r--r--
Use GNU target triplets to specify build targets. This aligns the code a little with rest of the world and makes it easier when it comes to build 3rd party libraries using autotools - one can pass the value `BUILD_TARGET` to `configure` script `--target` option.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
122
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
#------------------ start of linux-elf/COMMON/defines ---------------------
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
# $Header: /cvs/stx/stx/configurations/linux-elf/COMMON/defines,v 1.92 2016-07-19 19:56:46 stefan Exp $
135
0325651d2b43 Makefiles: use our own makefiles rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 126
diff changeset
     4
include $(MAKELIB)/config.make
122
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
CCARCHCOMMONOPT=-DELF
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
#RELOCINSTVARS=+relocInstvars
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
INTERN_H=linuxIntern.h
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
CPUINTERN_H=$(INCLUDE)/linuxIntern.h
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    12
#OPTIONAL_DL_LIB=-ldl
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    13
#OPTIONAL_LIBDL_TARGET=libdld
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    14
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    15
TARGET_RULE_EXTENSION=_shared
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    16
O_EXT=.so
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    17
# name of object files in binary directory
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    18
BIN_O=.so
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    19
122
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
MAKEFILE_EXTENSION=linux-elf
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
TARGET_RULE_EXTENSION=_shared
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
# ALL_TARGET=LINUX_i386_ELF
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
MAKEFLAGS += --no-print-directory
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
MAKE_INCLUDE=include
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
INSTALL=install
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
INSTALL_BIN_CMD=install -s -m 0755
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
INSTALL_SCRIPT_CMD=install -m 0755
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
COMPRESSOR=gzip
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
COMPRESSED_FILETYPE=targz
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
SETUP_RULE=setup_linux
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
CC=gcc
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    35
#
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    36
# * `-fno-strict-aliasing` since it's almost impossible to write a memory
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    37
#   manager without breaking C's aliasing rules. Better be on a safe side.
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    38
#   Nice post about these things: http://blog.regehr.org/archives/1307
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    39
#
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    40
# * `-Wno-strict-aliasing` to turn of warnings about breaking aliasing rules.
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    41
#   While one would think these wanings should be turned off when
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    42
#   `-fno-strict-aliasing` is passed, apparently some GCCs bark anyway.
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    43
#
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    44
# * `-fno-stack-protector` is (was) required on Ubuntu brands where it's
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    45
#   by default on. Smalltalk/X green thread implementation does not wotk
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    46
#   well with it.
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    47
#
169
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    48
# * `-U_FORTIFY_SOURCE` is (was) required on Gentoo as a workaround for failing
f9f519bb10b6 Use GNU target triplets to specify build targets.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 135
diff changeset
    49
#   longjmp check when _FORTIFY_SOURCE is defined (which is enabled by default
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    50
#   on Gentoo. Remove when fixed.
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    51
#
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    52
OPT=-fPIC -O2 -fno-strict-aliasing -Wno-strict-aliasing -fno-stack-protector -ggdb3 -pipe -U_FORTIFY_SOURCE
122
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
126
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    54
STC_LEXLIB=
9cd66b79ca54 Cleanup: unified GCC compilation flags for Linux builds
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 122
diff changeset
    55
122
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
OS=-DLINUX
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
FFI_ARCH=x86
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
FFI_CFLAGS=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
FFI_DIR=libffi-3.0.10rc8
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
FFI_OBJS=$(FFI_DIR)/build/src/*.o $(FFI_DIR)/build/src/x86/*.o
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
OPTIONAL_HAVE_FFI_ARG=-DHAVE_FFI -I$(TOP)/librun/$(FFI_DIR)/build/include
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
OPTIONAL_FFI_TARGET_IN_LIBRUN=ffi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
FFI_CC="gcc -m32"
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
FFI_LD='ld -m elf_i386'
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
OBJNAME=.o
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
BIN_O=.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
O_EXT=.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
SA_EXT=.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
SO_NAME=.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
# use static librt for clock_gettime().
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
# dynamic librt causes libpthread to be loaded that does not
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
# work with stx' stack layout
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
OTHERLIBS=-ldl -Wl,-Bstatic,-lrt,-Bdynamic
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
OTHERLIBS=-ldl -lrt
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
OTHERLIBS=-ldl -lrt -lc
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
STATIC_OTHERLIBS=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
LDFLAGS=-Llib -L/usr/local/lib -L/usr/X11/lib \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
	-Wl,-z,now,-rpath,'$$ORIGIN',-rpath,'$$ORIGIN/lib',-rpath,'$$ORIGIN/../lib',--wrap=memcpy
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
SPECIAL_LIBRUN_RULE=allLINUX
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
LIBRUNTARGET=librun.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
FORCE_LINK_LIBRUN=1
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
# mhm - these should now only be in libview!
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
LIBVIEW_EXTRA_TARGETS=$(WORKSTAT1).so $(WORKSTAT2).so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
ARCH_LIBSNMP=$(TOP)/libsnmp
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
ARCH_CLASSLIBDIRS=$(ARCH_LIBSNMP)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
# where are the X libraries if we need them:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
XDEFS=-DSHAPE -DXINERAMA -DXFT -DHAVE_FONTCONFIG
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
XINCLUDE+=$(shell pkg-config --cflags xft)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
LIB_X=-lX11
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
LIB_XEXT=-lXext
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
LIB_XT= -lXt
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
LIB_XAW=-lXaw
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
LIB_XMU=-lXmu
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
LIB_XMU=-lXt
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
LIB_XINERAMA=-lXinerama
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
LIB_XFT=$(shell pkg-config --libs xft)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
EXTRA_LIBS= -lX11 -lXext
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
STATIC_EXTRA_LIBS= -lX11 -lXext
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
X_LIB_DIR=/usr/X11/lib
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
JPEGLIB_LD_ARG=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
LIBJPEG_DIR=$(TOP)/support/libjpeg-9
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
JPEG_INCLUDE=-I$(LIBJPEG_DIR)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
LIBJPEG=$(LIBJPEG_DIR)/.libs/libjpeg.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
LIBJPEG_FOR_COPY=$(LIBJPEG_DIR)/.libs/libjpeg.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
LIBJPEG_FOR_LINK=$(LIBJPEG_DIR)/.libs/libjpeg.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
# a netsnmp library
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
# if already in /usr/lib:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
# DYNAMIC_LINK_LIB_NETSNMP=-lnetsnmp
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
# STATIC_LINK_LIB_NETSNMP=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
# TARGET_LIB_NETSNMP=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
# if a local one should be built and used:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
DYNAMIC_LINK_LIB_NETSNMP=-L$(NETSNMP_LIBDIR)/.libs -L$(NETSNMP_LIBDIR) $(NETSNMP_LIBDIR)/.libs/libnetsnmp.a -lrt
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
STATIC_LINK_LIB_NETSNMP=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
TARGET_LIB_NETSNMP=snmplib
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
STATIC_LIB_X   =$(X_LIB_DIR)/libX11.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
STATIC_LIB_XEXT=$(X_LIB_DIR)/libXext.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
STATIC_LIB_XT  =$(X_LIB_DIR)/libXt.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
STATIC_LIB_XAW =$(X_LIB_DIR)/libXaw.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
STATIC_LIB_XMU =$(X_LIB_DIR)/libXmu.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
# the following defs are for using the system's usb lib (only needed in some apps);
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
USB_LIB_DIR=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
USB_LIB_ARG=-lusb
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
USB_LIB_DIR_ARG=-L/usr/lib
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
USB_MAKE_TARGET=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
MATRIXLOCK_DIR=$(TOP)/../exept/setup/ml
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
MATRIXLOCK_LIB_ARG=-L$(MATRIXLOCK_DIR)/lib -lmxlin260 -lusb
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
NOSTDLIB=-nostdlib
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
# an extra rule for shared objects
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
.SUFFIXES: .a .o .so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
# use -nostdlib in combination with -lc -lgcc: we actually use some functions (like fstat) from libc (-lc)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
# and gcc (-lgcc) provides some low level routines that should be around
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
.o.so:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
	@-rm -f $*.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $*.so $*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
.a.so:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
	rm -f $*.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
	rm -rf tmp.a.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
	mkdir tmp.a.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
	cd tmp.a.so; $(AR) x ../$*.a
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
	@-rm -f $*.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $*.so tmp.a.so/*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
	rm -rf tmp.a.so
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
SHAREDLIBRULE=linuxSharedLib
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
linuxSharedLib:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
	@-rm -f $(LIB)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $(LIB) $(OBJS) $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
#.st.s2:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
#       $(STC) $(STCFLAGS) $(CFLAGS) -C $*.st
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
#       $(CC) $(CFLAGS) -S $*.c
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
#       @-echo " stripping off useless .align directives ..."
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
#       sed "/.align 4/d" < $*.s > $*.s2
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
#.SUFFIXES: .s2 .s3
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
#.s2.s3:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
#       @-echo "   removing useless jumps ..."
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
#       awk -f $(TOP)/rules/i386.script.awk < $*.s2 > $*.s3
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
# extra rules for space-optimized/speed-optimized modules modules
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
#
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
.SUFFIXES: .st .spc .spd
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
.st.spc:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
	$(MAKE) STC_OPT="$(STC_OPT)" OPT="$(OPT)" STCOPT="$(STCOPT)" STFILE=$* KEEP=y __SPACEOPT_O_RULE__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
.st.spd:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
	$(MAKE) STC_OPT="$(STC_OPT)" OPT="$(OPT)" STCOPT="$(STCOPT)" STFILE=$* KEEP=y __SPEEDOPT_O_RULE__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
VERYBIG_STFILE_RULE=__VERYBIG_RULE__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
__VERYBIG_RULE__:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
	$(MAKE) $(O_RULE) STFILE=$(BIG_FILE) CC="$(CC)" STC_OPT="$(STC_OPT) -Os" OPT="$(OPT) -Os" SEPINITCODE="$(SEPINITCODE)"
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
LONGNAME_RULE=__NORMAL_RULE2__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
__NORMAL_RULE2__:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
	$(MAKE) $(O_RULE) STFILE=$(LONGNAME_FILE) CC="$(CC)" STC_OPT="$(STC_OPT)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)"
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
#AWK_VERBOSE=1
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
AWK_DIFF=
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
AWK_FIX=$(TOP)/rules/i386fixELF.awk
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
SPACEOPT_O_RULE=__SPACEOPT_O_RULE__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   216
__SPACEOPT_O_RULE__:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   217
	@$(MAKE) STC=$(STC) CC=$(CC) STCOPT="$(STCOPT)" SEPINITCODE="$(SEPINITCODE)" $(STFILE).s
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   218
	@-if [ -f $(STFILE).s ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   219
	    awk -f $(AWK_FIX) < $(STFILE).s > $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   220
	    if [ "$(AWK_DIFF)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
		diff $(STFILE).s $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   222
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
	    if [ "$(AWK_VERBOSE)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
		echo "# optimized $(STFILE).s -> $(STFILE).s2"; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   225
		tail -5 $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
		echo; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
	    $(AS) $(ASFLAGS) -o $(STFILE).o $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
	@-if [ -f i_$(STFILE).s ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   231
	    awk -f $(AWK_FIX) < i_$(STFILE).s > i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
	    if [ "$(AWK_DIFF)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
		diff i_$(STFILE).s i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   234
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   235
	    if [ "$(AWK_VERBOSE)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   236
		echo "# optimized i_$(STFILE).s -> i_$(STFILE).s2"; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   237
		tail -5 i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
		echo; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   239
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
	    $(AS) $(ASFLAGS) -o i_$(STFILE).o i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   242
	@if [ "$(KEEP)" != "y" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
	    rm -f $(STFILE).s $(STFILE).s2 i_$(STFILE).s i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
.SUFFIXES: .st .s2
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   249
.st.s2:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
	@$(MAKE) $(SPEEDOPT_O_RULE) STCOPT="$(STCOPT)" KEEP=y STFILE=$* SEPINITCODE="$(SEPINITCODE)"
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
SPEEDOPT_O_RULE=__SPEEDOPT_O_RULE__
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
__SPEEDOPT_O_RULE__:
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
	@$(MAKE) STC=$(STC) CC=$(CC) STCOPT="$(STCOPT)" SEPINITCODE="$(SEPINITCODE)" $(STFILE).s
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
	@-if [ -f $(STFILE).s ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   256
	    awk -f $(AWK_FIX) < $(STFILE).s > $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
	    if [ "$(AWK_DIFF)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
		diff $(STFILE).s $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   260
	    if [ "$(AWK_VERBOSE)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
		echo "# optimized $(STFILE).s -> $(STFILE).s2"; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   262
		tail -5 $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
		echo; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
	    $(AS) $(ASFLAGS) -o $(STFILE).o $(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
	@-if [ -f i_$(STFILE).s ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
	    awk -f $(AWK_FIX) < i_$(STFILE).s > i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
	    if [ "$(AWK_DIFF)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
		diff i_$(STFILE).s i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   271
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
	    if [ "$(AWK_VERBOSE)" != "" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
		echo "# optimized i_$(STFILE).s -> i_$(STFILE).s2"; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
		tail -5 i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
		echo; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   276
	    fi; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
	    $(AS) $(ASFLAGS) -o i_$(STFILE).o i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
	@if [ "$(KEEP)" != "y" ]; then \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
	    rm -f $(STFILE).s $(STFILE).s2 i_$(STFILE).s i_$(STFILE).s2; \
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   281
	fi
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   282
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   283
O_RULE=$(SPEEDOPT_O_RULE)
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   284
6fcb351d23a7 Use our own make configuration files rather than eXept's
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   285
#------------------ end of linux-elf/COMMON/defines ---------------------