-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
57 lines (51 loc) · 1.65 KB
/
Copy pathMakefile
File metadata and controls
57 lines (51 loc) · 1.65 KB
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
# Normal makefile for XMMS Geekosphere
# <c> 2025 Allon L
# This program is released under the GNU GPL, version 2 or later.
# You should only need to change these variables, if you have the xmms development files installed, using xmms-config should work.
CC = gcc
# Usually /usr/share/xmms
XMMS_DATA_DIR=`xmms-config --data-dir`
# Usually /usr/lib/xmms/Visualization
XMMS_VPLUG_DIR=`xmms-config --visualization-plugin-dir`
XMMS_CFLAGS=`xmms-config --cflags`
XMMS_LIBS=`xmms-config --libs`
# Possible defines are
# -DHAVE_SCHED_SETSCHEDULER -- System has pthread scheduling support. (most likely yes on most new Linux distributions)
# -DHAVE_XMESAFINDBUFFER -- System uses mesa / listens to the MESA_GLX_FX environment variable
DEFINES = -DHAVE_SCHED_SETSCHEDULER -DHAVE_XMESAFINDBUFFER
CFLAGS = -O3 -fPIC -I. $(XMMS_CFLAGS) -pthread $(DEFINES) -DDATADIR=\"$(XMMS_DATA_DIR)\" -DVERSION=\"0.7\"
LIBS = $(XMMS_LIBS) -lGL -lGLX -lGLU -lpthread
SOURCES = about.c \
camera.c \
config.c \
interface.c \
light.c \
main.c \
material.c \
nurbs.c \
object.c \
rgb.c \
support.c \
texture.c
# callbacks.h \
# interface.h \
# material.h \
# prog.h \
# rgb.h \
# support.h
.DEFAULT:: thingy
all:: thing thingy
OBJECTS = $(SOURCES:.c=.o)
thing: $(OBJECTS)
thingy: thing
$(CC) -shared -Wl,-soname,libgeekosphere.so -Wl,--as-needed -o libgeekosphere.so $(OBJECTS) $(LIBS)
clean:
rm -f libgeekosphere.so *.o
install: libgeekosphere.so
install -m644 libgeekosphere.so $(XMMS_VPLUG_DIR)
install -m644 funkmotor.rgb $(XMMS_DATA_DIR)
ldconfig
uninstall:
-rm $(XMMS_VPLUG_DIR)/libgeekosphere.so
-rm $(XMMS_DATA_DIR)/funkmotor.rgb
.PHONY:clean thing thingy