Add makefile
This commit is contained in:
parent
8e31c88671
commit
6ba13bbeda
|
@ -0,0 +1,62 @@
|
||||||
|
CC = clang
|
||||||
|
FC = flang
|
||||||
|
AR = ar
|
||||||
|
|
||||||
|
# Architecture settings for RISC-V (adjust as needed)
|
||||||
|
ARCH_FLAGS =
|
||||||
|
|
||||||
|
DEBUG_FLAGS = -g
|
||||||
|
|
||||||
|
# Library settings
|
||||||
|
LIB_NAME = librvprof
|
||||||
|
STATIC_LIB = $(LIB_NAME).a
|
||||||
|
|
||||||
|
# Source directories
|
||||||
|
SRC_DIR = src
|
||||||
|
INCLUDE_DIR = include
|
||||||
|
|
||||||
|
# Source files
|
||||||
|
C_SOURCES = \
|
||||||
|
$(SRC_DIR)/rvprof_core.c \
|
||||||
|
$(SRC_DIR)/rvprof_timing.c \
|
||||||
|
$(SRC_DIR)/rvprof_symbols.c \
|
||||||
|
$(SRC_DIR)/rvprof_memory.c \
|
||||||
|
$(SRC_DIR)/rvprof_hooks.c \
|
||||||
|
$(SRC_DIR)/rvprof_output.c \
|
||||||
|
$(SRC_DIR)/rvprof_utils.c \
|
||||||
|
$(SRC_DIR)/rvprof_stats.c \
|
||||||
|
$(SRC_DIR)/rvprof_context.c \
|
||||||
|
$(SRC_DIR)/rvprof_fortran.c
|
||||||
|
|
||||||
|
F_SOURCES = rvprof_module.f90
|
||||||
|
HEADERS = rvprof.h $(SRC_DIR)/rvprof_internal.h
|
||||||
|
|
||||||
|
# Object files
|
||||||
|
C_OBJECTS = $(C_SOURCES:.c=.o)
|
||||||
|
F_OBJECTS = $(F_SOURCES:.f90=.o)
|
||||||
|
ALL_OBJECTS = $(C_OBJECTS) $(F_OBJECTS)
|
||||||
|
|
||||||
|
# Module files (generated by Fortran compiler)
|
||||||
|
MOD_FILES = rvprof.mod
|
||||||
|
|
||||||
|
# Default target
|
||||||
|
all: $(STATIC_LIB)
|
||||||
|
|
||||||
|
# Static library
|
||||||
|
$(STATIC_LIB): $(ALL_OBJECTS)
|
||||||
|
@echo "Creating static library $@"
|
||||||
|
$(AR) rcs $@ $^
|
||||||
|
|
||||||
|
# C object files
|
||||||
|
$(SRC_DIR)/%.o: $(SRC_DIR)/%.c $(HEADERS)
|
||||||
|
@echo "Compiling C source $<"
|
||||||
|
$(CC) $(CFLAGS) $(DEBUG_FLAGS) -I. -c $< -o $@
|
||||||
|
|
||||||
|
# Fortran object files (depends on C objects for linking)
|
||||||
|
%.o: %.f90 $(C_OBJECTS)
|
||||||
|
@echo "Compiling Fortran module $<"
|
||||||
|
$(FC) $(FFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(ALL_OBJECTS) $(MOD_FILES)
|
||||||
|
rm -f $(STATIC_LIB)
|
Loading…
Reference in New Issue