编译proc文件出错解决方法

编译proc文件出错
我用proc写了一个往数据库中导数的文件,但编译一直有问题,请大家指教下。
我的makefile文件为:
insdata: insdata.o
CC -o $@ -f insdata.o -L${ORACLE_HOME}/lib -lclntsh;

执行make,错误如下:
CC -o insdata-f insdata.o -L/opt/app/ora10g/orabase/product/10.2.0/lib -lclntsh;
CC: Warning: Option -f passed to ld, if ld is invoked, ignored otherwise
ld: fatal: option -f and building a dynamic executable are incompatible
ld: fatal: Flags processing errors



请高手帮忙解决一下吧,谢谢了

------解决方案--------------------
试试去掉 -f

-f 是什么意思?
用的什么编译器

------解决方案--------------------
英文说得很清楚了。
CC -o insdata-f insdata.o -L/opt/app/ora10g/orabase/product/10.2.0/lib -lclntsh;
这是执行的命令
CC: Warning: Option -f passed to ld, if ld is invoked, ignored otherwise
CC报了个警告:如果ld被调用,-f选项将被传递给ld;否则忽略此选项
ld: fatal: option -f and building a dynamic executable are incompatible
ld报了个致命错误:-f选项和创建动态可执行档是不兼容的
ld: fatal: Flags processing errors
ld报了个致命错误:选项处理错误

man ld
-f是用来编译so的