@@ -2,26 +2,30 @@ include ../config.mk
3OBJS = idris_rts.o idris_heap.o idris_gc.o idris_gmp.o idris_stdfgn.o idris_bitstring.o idris_opts.o idris_stats.o
3OBJS = idris_rts.o idris_heap.o idris_gc.o idris_gmp.o idris_stdfgn.o idris_bitstring.o idris_opts.o idris_stats.o
4HDRS = idris_rts.h idris_heap.h idris_gc.h idris_gmp.h idris_stdfgn.h idris_bitstring.h idris_opts.h idris_stats.h
4HDRS = idris_rts.h idris_heap.h idris_gc.h idris_gmp.h idris_stdfgn.h idris_bitstring.h idris_opts.h idris_stats.h
5−CFLAGS = -O2 -Wall
5+CFLAGS = -O2 -Wall -fPIC
7ifneq ($(GMP_INCLUDE_DIR),)
7ifneq ($(GMP_INCLUDE_DIR),)
8 CFLAGS += -isystem $(GMP_INCLUDE_DIR)
8 CFLAGS += -isystem $(GMP_INCLUDE_DIR)
11LIBTARGET = libidris_rts.a
11LIBTARGET = libidris_rts.a
12+DYLIBTARGET = libidris_rts$(SHLIB_SUFFIX)
13−check : $(LIBTARGET)
14+check : $(LIBTARGET) $(DYLIBTARGET)
15$(LIBTARGET) : $(OBJS)
16$(LIBTARGET) : $(OBJS)
16 ar r $(LIBTARGET) $(OBJS)
17 ar r $(LIBTARGET) $(OBJS)
17 ranlib $(LIBTARGET)
18 ranlib $(LIBTARGET)
20+$(DYLIBTARGET) : $(OBJS)
21+ $(CC) $(CFLAGS) -shared -o $(DYLIBTARGET) $(OBJS)
19install : .PHONY
23install : .PHONY
20 mkdir -p $(TARGET)
24 mkdir -p $(TARGET)
21− install $(LIBTARGET) $(HDRS) $(TARGET)
25+ install $(LIBTARGET) $(DYLIBTARGET) $(HDRS) $(TARGET)
23clean : .PHONY
27clean : .PHONY
24− rm -f $(OBJS) $(LIBTARGET)
28+ rm -f $(OBJS) $(LIBTARGET) $(DYLIBTARGET)
26idris_rts.o: idris_rts.h
30idris_rts.o: idris_rts.h