d6f481e570
Change-Id: I4b8cf46b32e3d76bcedeadb12357fb6eed1ee213
71 regels
1.3 KiB
Makefile
71 regels
1.3 KiB
Makefile
# -*- makefile-gmake -*-
|
|
|
|
ROCM_PATH ?= /opt/rocm
|
|
HIP_PATH ?= $(ROCM_PATH)/hip
|
|
HIPCC := $(HIP_PATH)/bin/hipcc
|
|
|
|
ROCM_PATH ?=/opt/rocm
|
|
ROCPROFILER_LIBS_PATH ?=$(ROCM_PATH)/lib
|
|
ROCPROFILER_INCLUDES=$(ROCPROFILER_LIBS_PATH)/../include/rocprofiler/
|
|
|
|
ifndef ROCPROFILER_PATH
|
|
$(warning You may need to set ROCPROFILER_PATH to the path of the rocprofiler source)
|
|
endif
|
|
|
|
CXXFLAGS += -std=c++17 -Wall
|
|
|
|
ifdef DEBUG
|
|
CXXFLAGS += -gdwarf-4 -O0
|
|
else
|
|
ifdef DEBUGOPT
|
|
CXXFLAGS += -gdwarf-4 -Og
|
|
else
|
|
CXXFLAGS += -gdwarf-4 -O2
|
|
endif
|
|
endif
|
|
|
|
###
|
|
|
|
srcs := $(wildcard *.cpp)
|
|
prog := main
|
|
|
|
objs := $(srcs:%.cpp=%.o)
|
|
deps := $(srcs:%.cpp=%.d)
|
|
|
|
# Kernel program
|
|
|
|
CPPFLAGS += -DHAVE_MEMFD_CREATE
|
|
|
|
$(prog): CC = $(HIPCC)
|
|
$(prog): CPPFLAGS += -I$(ROCPROFILER_INCLUDES) -I$(ROCM_PATH)/include
|
|
$(prog): LDFLAGS := -L$(ROCPROFILER_LIBS_PATH) -L$(ROCM_PATH)/lib
|
|
$(prog): LDLIBS += -ldl -lpthread -lhsa-runtime64 -lrocprofiler64v2 -lrocm-dbgapi -ldw -lelf
|
|
$(objs): CXX = $(HIPCC)
|
|
|
|
# Targets
|
|
|
|
all: $(prog)
|
|
|
|
$(prog): $(objs)
|
|
|
|
-include $(deps)
|
|
|
|
OUTPUT_OPTION = -MMD -MP -o $@
|
|
|
|
%.so: %.o
|
|
$(LINK.o) $(OUTPUT_OPTION) $^ $(LDLIBS)
|
|
|
|
#COMPILE.hip = $(COMPILE.cpp)
|
|
#LINK.hip = $(LINK.cpp)
|
|
|
|
#%.o: %.hip
|
|
# $(COMPILE.hip) $(OUTPUT_OPTION) $<
|
|
|
|
clean:
|
|
$(RM) $(prog) $(objs) $(deps)
|
|
|
|
distclean: | clean
|
|
$(RM) compile_commands.json
|
|
|
|
.PHONY: all clean distclean
|