1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
# makefile for EusLisp on sun4 with SunOS (Solaris)
# RCSid="@(#)$Id: Makefile.Linux.thread.64 36173 2010-01-12 05:44:46Z eus $"
# Copyright (1988) Toshihiro MATSUI, Electrotechnical Laboratory
# 1989/Oct
# 1990/Sep Second Tape Distribution
# KOBJECTS --- eus kernel objects written in C
# NOKOBJECTS-- eus kernel, but cannot be optimized with -O option
# CLIBOBJECTS- functions written in C, not members of kernel
# LOBJECTS --- functions coded in EUSLISP; must be compiled with euscomp
# GEOOBJECTS-- geometric modeling functions and classes
# XOBJECTS---- Xwindow interface
# XTKOBJECTS---- Xwindow interface
# IMGOBJECTS--- image processing
# MTOBJECTS--- multithread functions
#
#########################################################################
# Customizable section begins
#########################################################################
ARCH=Linux64
include Makefile.generic1
THREAD= -DTHREADED -DPTHREAD
MFLAGS=
XVERSION=X_V11R6_1
#
# Select CFLAGS and XVERSION according to the version of SunOS and Xlib.
#
# for Linux
GCC_MAJOR_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\+\).*/\1/')
GCC_MINOR_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\+\).*/\2/')
# GCC_PATCH_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\)\.\([0-9]\)/\3/')
ADD_LDFLAGS=
ifneq (,$(findstring t,$(shell if [ \( $(GCC_MAJOR_VERSION) -eq 4 -a $(GCC_MINOR_VERSION) -ge 5 \) -o $(GCC_MAJOR_VERSION) -ge 5 ] ; then echo t ;fi )))
ADD_LDFLAGS += -Wl,--no-as-needed
endif
CPU_OPTIMIZE=-m64
ALIGN_FUNCTIONS=-falign-functions=8
GCC3=-DGCC3
MACHINE=x86_64
DEBUG= -g
WFLAGS= #-Wall -Wno-unused -Wno-switch -Wno-return-type
CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -fPIC -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
-DLIB6 $(ALIGN_FUNCTIONS) \
$(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
-DGCC $(GCC3) \
-I/usr/include -I/usr/X11R6/include -I$(EUSDIR)/include
CC=gcc
#
# L I B R A R I E S
# Three kinds of libraries are needed to build eus.
# 1. RAWLIB: unix libraries needed to make eus0-eus2
# 2. XLIB: X window libraries
# When you use a window toolkit, you may need to override the 'read'
# function in libc.a with a specific window library such as libXview.a.
# 3. EUSLIB: euslisp functions that cannot be linked in eus because of
# 'GLOBAL OFFSET TABLE OVERFLOW', that are xwindow interface functions.
# You may add any optional user-supplied library in EUSLIB.
# On Solaris, XLIB and EUSLIB are combined together into lib/libeusx.so.
# Linux
RAWLIB=-ldl -lm -lpthread -lc
XLIB= -L/usr/X11R6/lib -lX11
# specify directories where euslisp's libraries are located.
EUSRPATH=-R$(ADLIBDIR)
EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext
# POSIX Thread
THREADDEP=mthread_posix.c
# If you don't like optimization, comment out the next line.
OFLAGS= -O2
# link-editor's default flags ?-rdynamic
SOFLAGS:= $(LDFLAGS) -shared
LD=gcc
LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
#MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
MAPOPTION= $(OBJDIR)/par.o
#################################################################
# end of the customizable section
################################################################
#include Makefile.rgc
include Makefile.generic2
|