I have been working on EPICS IOC for a QuadEM. I have been advised that with all the source files I should move them to their own directory for ease of building that driver selectively. I made a new directory and transferred what I think
are the relevant entries from the Makefile into the new directory. When I run `make`, my files appear to be compiled, but I fail on the linking step.
The first warning from the linker is
/usr/bin/ld: quadEMTestApp_registerRecordDeviceDriver.o: warning: relocation against `pvar_func_drvTetrAMMRegister' in read-only section `.text'
The other messages appear to be about missing references to the other quadEM libraries:
/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:576:(.text+0x2d2): undefined reference to `pvar_func_drvNSLS2_EMRegister'
/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:577:(.text+0x2de): undefined reference to `pvar_func_drvNSLS_EMRegister'
/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:578:(.text+0x2ea): undefined reference to `pvar_func_drvPCR4Register'
/usr/bin/ld: /home/iainm/src/epics/synAppsofficial/git/support/quadEM-R9-5/quadEMApp/src/O.linux-x86_64/quadEMTestApp_registerRecordDeviceDriver.cpp:579:(.text+0x2f6): undefined reference to `pvar_func_drvTetrAMMRegister'
I also have a find warning
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
At the end.
What entries do I need in the Makefile to get my code linked in with the overall quadEM IOC?
Thank you.