20
20
ARCH=Linux
21
21
include Makefile.generic1
22
22
23
+ THREAD= -DTHREADED -DPTHREAD
24
+ MFLAGS=
25
+ XVERSION=X_V11R6_1
26
+
23
27
#
24
28
# Select CFLAGS and XVERSION according to the version of SunOS and Xlib.
25
29
#
@@ -28,42 +32,62 @@ include Makefile.generic1
28
32
GCC_MAJOR_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\+\).*/\1/')
29
33
GCC_MINOR_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\+\).*/\2/')
30
34
# GCC_PATCH_VERSION=$(shell gcc -dumpversion | sed -e 's/\([0-9]\)\.\([0-9]\)\.\([0-9]\)/\3/')
35
+ ifneq (,$(findstring 64,$(shell gcc -dumpmachine)))
36
+ ifeq ($(GCC_MAJOR_VERSION), 2)
37
+ ALIGN_FUNCTIONS="-malign-functions=8"
38
+ else
39
+ ALIGN_FUNCTIONS=-falign-functions=8
40
+ GCC3=-DGCC3
41
+ endif
42
+ else
43
+ ifeq ($(GCC_MAJOR_VERSION), 2)
44
+ ALIGN_FUNCTIONS="-malign-functions=4"
45
+ else
46
+ ALIGN_FUNCTIONS=-falign-functions=4
47
+ GCC3=-DGCC3
48
+ endif
49
+ endif
31
50
32
51
ADD_LDFLAGS=
33
52
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 )))
34
53
ADD_LDFLAGS += -Wl,--no-as-needed
35
54
endif
36
55
37
- CPU_OPTIMIZE=-march=i586
56
+ # set CPU arch with -D
57
+ MACHINE=$(shell uname -m)
58
+ # need to set 'i486', for conditionals in c/*.[ch].
59
+ ifneq ($(shell gcc -dumpmachine | grep "i.*86-linux"),)
60
+ MACHINE=i486
61
+ endif
38
62
39
- # Pentium's arch returns 'i586', which is ignored by conditionals in c/*.[ch].
40
- MACHINE=i486
63
+ DEBUG= # -g
41
64
42
- # set OFLAGS either to -O or to -g.
43
- OFLAGS=-O
44
- # OFLAGS=-g
45
65
46
66
# If you use libc.so.5, remove -DLIB6 option.
47
67
# If you use old linux that does not know mallopt, add -OLD_LINUX option.
48
68
49
- #CFLAGS=-D$(MACHINE) -DLinux -DLIB6 -D_REENTRANT -DVERSION=\"$(VERSION)\" \
50
- # $(CPU_OPTIMIZE) -DGCC \
51
- # -I$(EUSDIR)/include
52
- CFLAGS=-D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
53
- -DLIB6 $(CPU_OPTIMIZE) -DGCC -falign-functions=4 \
54
- -I$(EUSDIR)/include
55
- PIC= -fpic
69
+ CFLAGS:= $(CFLAGS) $(CPPFLAGS) $(WFLAGS) -D$(MACHINE) -DLinux -D_REENTRANT -DVERSION=\"$(VERSION)\" \
70
+ -DLIB6 $(ALIGN_FUNCTIONS) -fsigned-char -fno-stack-protector \
71
+ $(DEBUG) $(CPU_OPTIMIZE) $(THREAD) -D$(XVERSION) \
72
+ -DGCC $(GCC3) \
73
+ -I/usr/include -I/usr/X11R6/include -I$(EUSDIR)/include
74
+
75
+ # machine specific CFLAGS
76
+ ifneq ($(shell gcc -dumpmachine | egrep "^(arm|aarch)"),)
77
+ ADD_LDFLAGS=-Wl,-z,execstack
78
+ CFLAGS+=-DARM -fPIC
79
+ ARCH=LinuxARM
80
+ endif
81
+ ifneq ($(shell gcc -dumpmachine | grep "^x86_64"),)
82
+ CFLAGS+=-fPIC
83
+ ARCH=Linux64
84
+ endif
56
85
57
86
# Use gcc for C-compiling on SunOS4. Sun's cc is ok on Solaris.
58
87
# /usr/ucb/cc cannot compile because of its incapability of recognizing
59
88
# prototype declarations.
60
89
CC=cc
61
- # CC=gcc
62
-
63
- #XVERSION=X_V11R2
64
- #XVERSION=X_V11R3
65
- #XVERSION=X_V11R4
66
- XVERSION=X_V11R6
90
+ LD=ld
67
91
68
92
#
69
93
# L I B R A R I E S
@@ -78,24 +102,36 @@ XVERSION=X_V11R6
78
102
# On Solaris, XLIB and EUSLIB are combined together into lib/libeusx.so.
79
103
80
104
# Linux
81
- RAWLIB=-ldl -lm
105
+ RAWLIB=-ldl -lm -lpthread -lc
82
106
XLIB= -L/usr/X11R6/lib -lX11
83
107
84
108
# specify directories where euslisp's libraries are located.
85
- EUSLIB= -Xlinker -L$(ADLIBDIR)
86
- # GLLIB= -L$(ADLIBDIR) -ltk -lGLU -lGL -lXext -leusgl
87
- GLLIB= -L$(ADLIBDIR) -L/usr/local/lib -lGLU -lGL -lXext -leusgl
109
+ EUSRPATH=-R$(ADLIBDIR):$(EUSDIR)/lib/Linux
110
+ EUSLIB= -Xlinker $(EUSRPATH) -L$(ADLIBDIR)
111
+ GLLIB= -L$(ADLIBDIR) -lGLU -lGL -lXext -leusgl
112
+
113
+ # POSIX Thread
114
+ THREADDEP=mthread_posix.c
115
+ #THREADDEP=pthreads.c
116
+
117
+ # If you don't like optimization, comment out the next line.
118
+ OFLAGS=-O2
119
+
120
+ # link-editor's default flags ?-rdynamic
121
+ SOFLAGS:= $(LDFLAGS) -shared -Xlinker -build-id
122
+ LD=gcc
123
+ LDFLAGS:= $(LDFLAGS) -rdynamic -fno-stack-protector -z execstack $(ADD_LDFLAGS)
124
+ MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/mthread_posix.o
125
+ #MTCOBJECTS= $(OBJDIR)/mthread.o $(OBJDIR)/pthreads.o
126
+ MAPOPTION= $(OBJDIR)/par.o
88
127
89
- # link-editor's default flags ?-rdynamic
90
- SOFLAGS= -shared -build-id
91
- LDFLAGS= -rdynamic $(ADD_LDFLAGS)
92
- MTOBJECTS=
93
- MTCOBJECTS=
94
- MAPOPTION=-Xlinker -Map -Xlinker $(ADLIBDIR)/eusmap
95
128
96
129
#################################################################
97
130
# end of the customizable section
98
131
################################################################
99
132
100
133
include Makefile.generic2
101
134
135
+ eusjpeg:
136
+ make -C image/jpeg/ ARCHDIR=$(ARCH) EUSDIR=$(EUSDIR)
137
+
0 commit comments