50 lines
973 B
Makefile
50 lines
973 B
Makefile
all: ptxcc ptxgen
|
|
|
|
CXX=clang++
|
|
CXXFLAGS += -O3
|
|
CXXFLAGS += -I/opt/local/include
|
|
|
|
LD=clang++
|
|
LDFLAGS += -L/opt/local/lib
|
|
|
|
FLEX=flex
|
|
BISON=bison
|
|
|
|
CUDATK=/usr/local/cuda
|
|
LIBDEVICE_MAJOR=1
|
|
LIBDEVICE_MINOR=0
|
|
|
|
ptxgrammar.cc : ptxgrammar.yy
|
|
$(BISON) -d -v -t ptxgrammar.yy -o ptxgrammar.cc
|
|
|
|
ptx.cc: ptx.ll ptxgrammar.cc
|
|
$(FLEX) -t ptx.ll > ptx.cc
|
|
|
|
%.o: %.cc
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
OBJ= ptxcc.o \
|
|
ptx.o \
|
|
ptxgrammar.o
|
|
|
|
ptxcc: $(OBJ)
|
|
$(LD) $(LDFLAGS) $^ -o $@
|
|
|
|
ptxgen: ptxgen.cpp
|
|
$(CXX) $(CXXFLAGS) -o $@ $< \
|
|
-L$(CUDATK)/nvvm/lib64 -lnvvm \
|
|
-I$(CUDATK)/nvvm/include \
|
|
-I$(CUDATK)/include \
|
|
-DLIBDEVICE_MAJOR_VERSION=$(LIBDEVICE_MAJOR) \
|
|
-DLIBDEVICE_MINOR_VERSION=$(LIBDEVICE_MINOR) \
|
|
-DLIBNVVM_HOME=$(CUDATK)/nvvm -Wl,-rpath,$(CUDATK)/nvvm/lib64
|
|
|
|
clean:
|
|
/bin/rm -f ptxgen ptxcc $(OBJ) ptxgrammar.hh ptxgrammar.cc ptx.cc ptxgrammar.output
|
|
|
|
$(OBJ): ptxgrammar.cc ptx.cc PTXParser.h PTXLexer.h
|
|
|