Newer
Older
# Makefile for Rapid Binary Star Evolution program
# you will need to set the BINARY_C variable to point
# to the root binary_c directory
ifeq ($(BINARY_C),)
$(error BINARY_C is not set)
endif
PROGRAM := binary_c_python_api
# some commands
CC := gcc
LD := gcc
MAKE := /usr/bin/make
# Libraries
LIBS := -lbinary_c $(shell $(BINARY_C)/binary_c-config --libs)
# Source files and cflags
C_SRC := binary_c_python_api.c
CFLAGS := -fPIC $(shell $(BINARY_C)/binary_c-config --flags | sed s/-fvisibility=hidden// )
C_SRC_NEW := src/binary_c_python_api.c
# SRC = $(wildcard $(SRC_DIR)/binary_c_python_api.c)
INCDIRS := -I$(BINARY_C)/src/ -I$(BINARY_C)/src/API -I$(INC_DIR)/
# Object files and flags
OBJECTS := $(C_SRC:.c=.o)
OBJ_FLAGS := -c
OBJ_NEW := $(C_SRC_NEW:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
# Shared lib files and flags
SO_NAME := libbinary_c_api.so
# To create python shared library
PY_EXEC := python3
PY_SETUP := setup.py
PY_OPTIONS := build_ext --inplace
all:
$(CC) -DBINARY_C=$(BINARY_C) $(CFLAGS) $(INCDIRS) $(C_SRC) -o $(OBJECTS) $(OBJ_FLAGS) $(LIBS)
$(CC) -DBINARY_C=$(BINARY_C) $(SO_FLAGS) -o $(SO_NAME) $(OBJECTS)
# $(PY_EXEC) $(PY_SETUP) $(PY_OPTIONS)
test:
@echo Objects: $(OBJECTS)
@echo Libs: $(LIBS)
@echo C_SRC: $(C_SRC)
@echo CFLAGS: $(CFLAGS)
@echo INCDIRS: $(INCDIRS)
clean: