Files
rocm-systems/samples/2_Cookbook/15_static_library/host_functions/Makefile
T
ROCm CI Service Account bfe584b134 SWDEV-334508 - Testing & fix for HIP samples on Linux and Windows. (#2711)
Change-Id: I6edc0d6dc7ce8f2223381baddacbc5063b6d4983
2022-06-02 17:00:05 +05:30

43 строки
1.2 KiB
Makefile

ifeq ($(OS),Windows_NT)
$(error Makefile is not supported on windows platform. Please use cmake instead to build sample.)
endif
ROCM_PATH?= $(wildcard /opt/rocm/)
HIP_PATH?= $(wildcard $(ROCM_PATH)/hip)
ifeq (,$(HIP_PATH))
HIP_PATH=../../..
endif
HIPCC=$(HIP_PATH)/bin/hipcc
GXX=g++
EMIT_STATIC_LIB_SRC=hipOptLibrary.cpp
EMIT_STATIC_LIB=./libHipOptLibrary.a
EMIT_STATIC_MAIN_SRC=hipMain1.cpp
HIPCC_EXE=./test_emit_static_hipcc_linker.out
HOST_EXE=./test_emit_static_host_linker.out
.PHONY: test
all: $(HIPCC_EXE) $(HOST_EXE) test
$(EMIT_STATIC_LIB):
$(HIPCC) $(EMIT_STATIC_LIB_SRC) --emit-static-lib -fPIC -o $@
# Compiles hipMain1 with hipcc and links with libHipOptLibrary.a which contains host function.
$(HIPCC_EXE): $(EMIT_STATIC_LIB)
$(HIPCC) $(EMIT_STATIC_MAIN_SRC) -L. -lHipOptLibrary -o $@
# Compiles hipMain1 with g++ and links with libHipOptLibrary.a which contains host function.
$(HOST_EXE): $(EMIT_STATIC_LIB)
$(GXX) $(EMIT_STATIC_MAIN_SRC) -L. -lHipOptLibrary -L$(HIP_PATH)/lib -lamdhip64 -Wl,-rpath=$(HIP_PATH)/lib -o $@
test: $(HIPCC_EXE) $(HOST_EXE)
$(HIPCC_EXE)
$(HOST_EXE)
clean:
rm -f $(HIPCC_EXE)
rm -f $(HOST_EXE)
rm -f $(EMIT_STATIC_LIB)
rm -f *.o