1a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
2a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardTOP = ../../../..
3a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardinclude $(TOP)/configs/current
4a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
5a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardinclude Makefile.sources
6a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
7a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardLIBNAME = radeon
8a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
9a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardLIBRARY_INCLUDES = -I$(TOP)/include
10a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
11a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardTBLGEN = $(LLVM_BINDIR)/llvm-tblgen
12a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
13a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardCXXFLAGS+= $(LLVM_CXXFLAGS)
14a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
15a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardinclude ../../Makefile.template
16a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
17a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardCXXFLAGS := $(filter-out -DDEBUG, $(CXXFLAGS))
18a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
19a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardtablegen = $(TBLGEN) -I $(LLVM_INCLUDEDIR) $1 $2 -o $3
20a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
21ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom StellardHAVE_LLVM_INTRINSICS = $(shell grep IntrinsicsR600.td $(LLVM_INCLUDEDIR)/llvm/Intrinsics.td)
22ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellard
23a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardSIRegisterInfo.td: SIGenRegisterInfo.pl
24a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard	$(PERL) $^ > $@
25a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
26a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardSIRegisterGetHWRegNum.inc: SIGenRegisterInfo.pl
27a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard	$(PERL) $^ $@ > /dev/null
28a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
29ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom StellardR600Intrinsics.td: R600IntrinsicsNoOpenCL.td R600IntrinsicsOpenCL.td
30ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellardifeq ($(HAVE_LLVM_INTRINSICS),)
31ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellard	cp R600IntrinsicsNoOpenCL.td R600Intrinsics.td
32ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellardelse
33ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellard	cp R600IntrinsicsOpenCL.td R600Intrinsics.td
34ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellardendif
35ddb4dac13341d5b33b9e129ecb0e2abec30a27b6Tom Stellard
36a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardR600RegisterInfo.td: R600GenRegisterInfo.pl
37a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard	$(PERL) $^ > $@
38a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
3971b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenRegisterInfo.inc: $(TD_FILES)
4065917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-register-info, AMDGPU.td, $@)
41a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
4271b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenInstrInfo.inc: $(TD_FILES)
4365917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-instr-info, AMDGPU.td, $@)
44a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
4571b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenAsmWriter.inc: $(TD_FILES)
4665917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-asm-writer, AMDGPU.td, $@)
47a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
4871b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenDAGISel.inc: $(TD_FILES)
4965917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-dag-isel, AMDGPU.td, $@)
50a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
5171b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenCallingConv.inc: $(TD_FILES)
5265917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-callingconv, AMDGPU.td, $@)
53a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
5471b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenSubtargetInfo.inc: $(TD_FILES)
5565917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-subtarget, AMDGPU.td, $@)
56a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
5771b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenEDInfo.inc: $(TD_FILES)
5865917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-enhanced-disassembly-info, AMDGPU.td, $@)
59a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
6071b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenIntrinsics.inc: $(TD_FILES)
6165917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-tgt-intrinsic, AMDGPU.td, $@)
62a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
6371b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenCodeEmitter.inc: $(TD_FILES)
6465917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard	$(call tablegen, -gen-emitter, AMDGPU.td, $@)
65a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
6671b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenMCCodeEmitter.inc: $(TD_FILES)
67235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellard	$(call tablegen, -mc-emitter -gen-emitter, AMDGPU.td, $@)
68235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellard
6971b5503164deee189df5ac4e2b8d2fcd09a8ec55Tom StellardAMDGPUGenDFAPacketizer.inc: $(TD_FILES)
70cd287301ec598d2811f3f85c03d23bae01be2359Tom Stellard	$(call tablegen, -gen-dfa-packetizer, AMDGPU.td, $@)
71cd287301ec598d2811f3f85c03d23bae01be2359Tom Stellard
72a75c6163e605f35b14f26930dd9227e4f337ec9eTom StellardLOADER_LIBS=$(shell llvm-config --libs bitreader asmparser)
73a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardloader: loader.o libradeon.a
74f6ad8b45c2731075d91f43e92862847f2c26e95aTom Stellard	gcc -o loader $(LLVM_LDFLAGS) -L/usr/local/lib $(LDFLAGS) loader.o libradeon.a $(LLVM_LIBS) $(LOADER_LIBS) -lpthread -ldl -lstdc++ -lm
75