Idris2/support/c/Makefile
2020-05-19 13:13:01 +02:00

52 lines
774 B
Makefile

include $(IDRIS2_CURDIR)/config.mk
TARGET = libidris2_support
LIBTARGET = $(TARGET).a
DYLIBTARGET = $(TARGET)$(SHLIB_SUFFIX)
CFLAGS += -O2
SRCS = $(wildcard *.c)
ifeq ($(OS), windows)
SRCS += windows/win_utils.c
endif
OBJS = $(SRCS:.c=.o)
DEPS = $(OBJS:.o=.d)
all: build
.PHONY: build
build: $(LIBTARGET) $(DYLIBTARGET)
$(LIBTARGET): $(OBJS)
$(AR) rc $@ $^
$(RANLIB) $@
$(DYLIBTARGET): $(OBJS)
$(CC) -shared $(LDFLAGS) -o $@ $^
-include $(DEPS)
%.d: %.c
@$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
.PHONY: clean
clean:
rm -f $(OBJS) $(DYLIBTARGET) $(LIBTARGET)
cleandep: clean
rm -f $(DEPS)
.PHONY: install
install: build
mkdir -p ${PREFIX}/idris2-${IDRIS2_VERSION}/lib
install $(LIBTARGET) $(DYLIBTARGET) ${PREFIX}/idris2-${IDRIS2_VERSION}/lib