HIP_PATH?= $(wildcard /opt/rocm/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