on 54e4e41 help sign in
Idris-dev/rts/Makefile
45 lines 1.3 kB history raw
1include ../config.mk
3OBJS = idris_rts.o idris_heap.o idris_gc.o idris_gmp.o idris_bitstring.o \
4 idris_opts.o idris_stats.o idris_utf8.o mini-gmp.o getline.o
5HDRS = idris_rts.h idris_heap.h idris_gc.h idris_gmp.h idris_bitstring.h \
6 idris_opts.h idris_stats.h mini-gmp.h idris_stdfgn.h idris_net.h \
7 idris_utf8.h getline.h
8CFLAGS := $(CFLAGS)
9CFLAGS += $(GMP_INCLUDE_DIR) $(GMP) -DIDRIS_TARGET_OS="\"$(OS)\""
10CFLAGS += -DIDRIS_TARGET_TRIPLE="\"$(MACHINE)\""
12# NOTE: This works around glibc 2.11 not declaring pthread_mutexattr_settype
13# and PTHREAD_MUTEX_RECURSIVE by default, causing compilation failures on
14# Debian 6 and Ubuntu 10.04 LTS.
15ifeq ($(OS), unix)
16ifneq ($(shell ldd --version | head -n 1 | grep 2.11),)
17 CFLAGS += -D_GNU_SOURCE
18endif
19endif
21ifeq ($(OS), windows)
22 OBJS += windows/idris_stdfgn.o windows/idris_net.o windows/win_utils.o
23else
24 CFLAGS += -fPIC
25 OBJS += idris_stdfgn.o idris_net.o
26endif
28LIBTARGET = libidris_rts.a
30build: $(LIBTARGET) $(DYLIBTARGET)
32$(LIBTARGET) : $(OBJS)
33 $(AR) r $(LIBTARGET) $(OBJS)
34 $(RANLIB) $(LIBTARGET)
36install :
37 mkdir -p $(TARGET)
38 install $(LIBTARGET) $(HDRS) $(TARGET)
40clean :
41 rm -f $(OBJS) $(LIBTARGET) $(DYLIBTARGET)
43idris_rts.o: idris_rts.h
45.PHONY: build install clean