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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
--- sys/unix/Makefile.src.orig 2014-08-26 22:41:21.000000000 +0900
+++ sys/unix/Makefile.src 2014-08-26 22:41:59.000000000 +0900
@@ -72,7 +72,7 @@
#
# If you are using GCC 2.2.2 or higher on a DPX/2, just use:
#
-CC = gcc
+#CC = gcc
#
# For HP/UX 10.20 with GCC:
# CC = gcc -D_POSIX_SOURCE
@@ -149,19 +149,29 @@
# directories. The ones given below is the usual spot for linux systems.
# The paths are for glibconfig.h and gnomesupport.h respectively.
#
-GNOMEINC=-I/usr/lib/glib/include -I/usr/lib/gnome-libs/include -I../win/gnome
+GNOMEINC= $(shell ${GNOME_CONFIG} --cflags gnomeui)
# flags for debugging:
# CFLAGS = -g -I../include
-CFLAGS = -W -g -O -I../include
+CFLAGS += -I../include
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
+CFLAGS += -DX11_GRAPHICS -I${LOCALBASE}/include
+endif
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
+CFLAGS += -DQT_GRAPHICS
+endif
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
+CFLAGS += -DGNOME_GRAPHICS ${CPPFLAGS}
+endif
+
LFLAGS =
# The Qt and Be window systems are written in C++, while the rest of
# NetHack is standard C. If using Qt, uncomment the LINK line here to get
# the C++ libraries linked in.
-CXXFLAGS = $(CFLAGS) -I. -I$(QTDIR)/include
-CXX=g++
+CXXFLAGS += -I. -I../include ${QTCPPFLAGS}
+#CXX=g++
#LINK=g++
# For cross-compiling, eg. with gcc on Linux (see also CC further up):
#CXX=arm-linux-g++
@@ -228,8 +238,27 @@
#
#
WINSRC = $(WINTTYSRC)
-WINOBJ = $(WINTTYOBJ)
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
+WINSRC += $(WINX11SRC)
+endif
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
+WINSRC += $(WINQTSRC)
+endif
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
+WINSRC += $(WINGNOMESRC)
+endif
+WINOBJ = $(WINTTYOBJ)
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
+WINOBJ += $(WINX11OBJ)
+endif
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
+WINOBJ += $(WINQTOBJ)
+endif
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
+WINOBJ += $(WINGNOMEOBJ)
+endif
+
# on some systems the termcap library is in -ltermcap or -lcurses
# on 386 Xenix, the -ltermlib tputs() seems not to work; use -lcurses instead
# Sysatt uses shared library in lieu of this option
@@ -248,19 +277,19 @@
#
# libraries for X11
# If USE_XPM is defined in config.h, you will also need -lXpm here.
-WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
+WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -L${LOCALBASE}/lib
# WINX11LIB = -lXaw -lXmu -lXt -lX11
# WINX11LIB = -lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm
# WINX11LIB = -lXaw -lXmu -lXpm -lXext -lXt -lX11 -lSM -lICE -lm # BSD/OS 2.0
#
# libraries for Qt
-WINQTLIB = -L$(QTDIR)/lib -lqt
+WINQTLIB = ${QTCFGLIBS} ${LIBQT}
#
# libraries for KDE (with Qt)
WINKDELIB = -lkdecore -lkdeui -lXext
#
# libraries for Gnome
-WINGNOMELIB = -lgnomeui -lgnome -lart_lgpl -lgtk -lgdk -lpopt
+WINGNOMELIB = $(shell ${GNOME_CONFIG} --libs gnomeui) ${LDFLAGS}
#
# libraries for Gem port
WINGEMLIB = -le_gem -lgem
@@ -269,6 +298,15 @@
WINBELIB = -lbe
WINLIB = $(WINTTYLIB)
+ifeq ("$(GRAPHICS)","X11_GRAPHICS")
+WINLIB += $(WINX11LIB)
+endif
+ifeq ("$(GRAPHICS)","QT_GRAPHICS")
+WINLIB += $(WINQTLIB)
+endif
+ifeq ("$(GRAPHICS)","GNOME_GRAPHICS")
+WINLIB += $(WINGNOMELIB)
+endif
# any other strange libraries your system needs (for Sysunix only -- the more
# specialized targets should already be right)
@@ -478,13 +516,13 @@
# Qt windowport meta-object-compiler output
qt_kde0.moc: ../include/qt_kde0.h
- $(QTDIR)/bin/moc -o qt_kde0.moc ../include/qt_kde0.h
+ ${MOC} -o qt_kde0.moc ../include/qt_kde0.h
qt_win.moc: ../include/qt_win.h
- $(QTDIR)/bin/moc -o qt_win.moc ../include/qt_win.h
+ ${MOC} -o qt_win.moc ../include/qt_win.h
qttableview.moc: ../include/qttableview.h
- $(QTDIR)/bin/moc -o qttableview.moc ../include/qttableview.h
+ ${MOC} -o qttableview.moc ../include/qttableview.h
$(MAKEDEFS): ../util/makedefs.c $(CONFIG_H) ../include/permonst.h \
../include/objclass.h ../include/monsym.h \
|