aboutsummaryrefslogtreecommitdiff
path: root/Makefile.osx
blob: 6447a0746ee02257c692c0bdafcc05e73ba96bff (plain)
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
# GNU makefile 


# User configuration
DESTDIR ?= /local
CFLAGS ?= -fPIC -O2 -Iinclude
LDFLAGS ?= -lm
TARGET = bh
ENABLE_MT = 1
CC = clang


# System configuration
include Makefile.srcs

SRCS += $(SRCS_POSIX)
ifeq ($(ENABLE_MT), 1)
	SRCS += $(SRCS_POSIX_MT)
	CFLAGS += -pthread
	LDFLAGS += -lpthread
else
	SRCS += $(SRCS_DUMMY_MT)
endif

INCDIR ?= $(DESTDIR)/usr/include
INSTALLDIR ?= $(DESTDIR)/usr/lib
STATICLIB = lib$(TARGET).a
SHAREDLIB = lib$(TARGET).so
OBJS = $(SRCS:.c=.o)


# Targets
all: $(STATICLIB) $(SHAREDLIB)

dist: $(STATICLIB) $(SHAREDLIB)
	mkdir -p dist
	cp *.a dist/
	cp *.so dist/

$(STATICLIB): $(OBJS)
	$(AR) r $@ $(OBJS)

$(SHAREDLIB): $(OBJS)
	$(CC) -s -shared $(LDFLAGS) -o $@ $(OBJS)

.c.o:
	$(CC) $(CFLAGS) -c $< -o $@

clean:
	-rm -rf $(OBJS) $(STATICLIB) $(SHAREDLIB) dist