File: Makefile

package info (click to toggle)
libffm 0.21-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 172 kB
  • ctags: 94
  • sloc: asm: 1,176; makefile: 76; ansic: 10; sh: 2
file content (39 lines) | stat: -rw-r--r-- 762 bytes parent folder | download
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
libname = libffm
version_major = 0
version = 0.21

CC = gcc
CFLAGS =
AR = ar
ARFLAGS = cq
RANLIB = ranlib

objects = asincos.o atan.o atan2.o exp.o log.o powr.o sincos.o sqrt.o tancotan.o

all: static

pow.o: pow.c
	$(CC) -I. -I$(srcdir) -O3 -c $< -o $@

profiled:
	$(CC) -I. -I$(srcdir) -DPROF -c $(srcdir)/*.S
	$(AR) $(ARFLAGS) $(libname)_p.a $(objects)
	
static: pow.o $(objects)
	$(AR) $(ARFLAGS) $(libname).a $(objects)
	$(RANLIB) $(libname).a

shared: $(objects)
	$(CC) -shared -Wl,-soname,$(libname).so.$(version_major) -o $(libname).so.$(version) $(objects)

$(objects): %.o: %.S
	$(CC) -c $< -o $@

$(objects_prof): %.o: %.S
	$(CC) -DPROF -c $< -o $@

clean:
	rm -f $(objects) $(libname).a pow.o $(libname).so.$(version)

.SUFFIXES:
.SUFFIXES: .S .c .o