File: makefile

package info (click to toggle)
glbsp 2.24-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,204 kB
  • sloc: cpp: 10,762; ansic: 6,953; makefile: 119; sh: 14
file content (79 lines) | stat: -rw-r--r-- 1,909 bytes parent folder | download | duplicates (5)
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
COMMONFLAGS = -DUNIX -DINLINE_G=inline -D_GNU_SOURCE
CMD_FLAGS = -DGLBSP_TEXT $(COMMONFLAGS)
LIB_FLAGS = -DGLBSP_PLUGIN $(COMMONFLAGS)
AR = ar rc
RANLIB = ranlib

version ?= 3.0.0
major ?= 3
CFLAGS ?= -O2 -Wall

LIB_OBJS=\
	analyze.o  \
	blockmap.o \
	glbsp.o    \
	level.o    \
	node.o     \
	reject.o   \
	seg.o      \
	system.o   \
	util.o     \
	wad.o

LIB_LIBS = -lm -lz

SHARED_OBJS=$(addprefix shared/,$(LIB_OBJS))
STATIC_OBJS=$(addprefix static/,$(LIB_OBJS))

CMD_OBJS=display.o main.o

all: libglbsp.so.$(version) libglbsp.a glbsp

clean:
	rm -rf libglbsp.* shared static glbsp cmdline/*.o

shared static:
	mkdir -p $@
	cd $@ && ln -s ../src/*.[ch] .

libglbsp.so.$(version): shared/libglbsp.so
	ln -s $< $@
shared/libglbsp.so: shared
	$(MAKE) -C shared -f ../debian/makefile libglbsp.so \
		CFLAGS="$(CFLAGS) $(LIB_FLAGS) -shared -fPIC"
libglbsp.so: $(LIB_OBJS)
	$(CC) $^ -o $@ $(LIB_LIBS) -shared -fPIC -Wl,-soname,$@.$(major) \
		-Wl,--version-script=../debian/version.ld

libglbsp.a: static/libglbsp.o
	ln $< $@
static/libglbsp.o: static
	$(MAKE) -C static -f ../debian/makefile libglbsp.o \
		CFLAGS="$(CFLAGS) $(LIB_FLAGS) -static"
libglbsp.o: $(LIB_OBJS)
	$(AR) $@ $^
	$(RANLIB) $@

glbsp: cmdline/_glbsp.o libglbsp.so.$(version)
	$(CC) $^ -o $@
cmdline/_glbsp.o:
	$(MAKE) -C cmdline -f ../debian/makefile _glbsp.o \
		CFLAGS="-I../src $(CFLAGS) $(CMD_FLAGS)"
_glbsp.o: $(CMD_OBJS)
	$(AR) $@ $^
	$(RANLIB) $@

install: all
	install -d $(DESTDIR)/usr/bin
	install -d $(DESTDIR)/usr/include/glbsp
	install -d $(DESTDIR)/usr/lib
	install libglbsp.so.$(version) libglbsp.a $(DESTDIR)/usr/lib
	ln -s libglbsp.so.$(version) $(DESTDIR)/usr/lib/libglbsp.so.$(major)
	ln -s libglbsp.so.$(major) $(DESTDIR)/usr/lib/libglbsp.so
	install glbsp $(DESTDIR)/usr/bin
	install -m644 src/glbsp.h $(DESTDIR)/usr/include/glbsp
	ln -s glbsp/glbsp.h $(DESTDIR)/usr/include/glbsp.h

.PHONY: all clean

.NOTPARALLEL: