自用的用来编译pro*c 代码的makefile, 包括2个部分,一个是common.mak, 定义一些共通属性,一个则是用来编译main程序。
1. common.mak
.SUFFIXES: .pc .c vpath %.h ../inc vpath %.tbl ../tbl CC = gcc PROC = proc LD = ld RM = rm -f DEBUGFLAG = -g CFLAGS = -W -Wall -DISA_DEBUG -c PROC_CFLAGS = INC = ../inc TBL = ../tbl OBJ = ../obj OUT = ../bin LIB = ../lib INCLUDE_PATH = -I$(ORACLE_HOME)/rdbms/public/ -I$(INC)/ -I$(TBL)/ .pc.c: proc common_parser=yes include=$(INC)/ include=$(TBL)/ iname=$*.pc
2. 编译主程序用的makefile
.PHONY : all clean ROOT_DIR = ../ include $(ROOT_DIR)/common.mak PROG = xxxx EXE = $(OUT)/$(PROG) OBJS = $(OBJ)/$(PROG).o GEN_SRC = $(PROG).c $(PROG).lis all : $(EXE) $(EXE) : $(OBJS) $(CC) -o $@ -L $(ORACLE_HOME)/lib -lclntsh $(OBJS) $(LIB)/libkozacomm.a $(OBJS) : $(PROG).c xxx.tbl xxx.h $(CC) $(CFLAGS) $(DEBUGFLAG) $(INCLUDE_PATH) -o $@ $< clean: $(RM) $(OBJS) $(RM) $(EXE) $(RM) $(GEN_SRC)
3. 如果有一堆主程序要编译,就把他们放在不同子目录下,然后在根目录下创建如下makefile
SUBDIRS = common \ aaa bbb \ ccc .PHONY : all clean $(SUBDIRS) all : $(SUBDIRS) $(SUBDIRS): $(MAKE) -C $@ clean: for dir in $(SUBDIRS); do \ $(MAKE) -C $$dir clean; \ done
注意点
1. pro*c 的编译参数common_parser=yes, 没有的话会对sql99的语法报错。
2. 想要编译时候检查语法错误需加SQLCHECK={SEMANTICS | FULL | SYNTAX | LIMITED}
例:
sqlcheck=full userid=useid/xxx@orclxxx common_parser=yes
相关推荐
a) cat /proc/devices看看有哪些编号已经被使用,我们选一个没有使用的XXX。 b) insmod memdev.ko c) 通过"mknod /dev/memdev0 c XXX 0"命令创建"/dev/memdev0"设备节点。 d) 交叉编译app-mem.c文件,下载并执行 ...
全志R16平台编译linux系统V1.0.txt 2017/4/11 13:36 (编译请使用编译android的lichee的选项编译生成的.config文件,不然直接编译会报错!!!!) rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar...
多个源代码文件构成的内核模块使用的Makefile 4-1. chardev.c 4-2. 支持多版本内核的宏 5-1. procfs.c 6-1. procfs.c 7-1. chardev.c 7-2. chardev.h 7-3. ioctl.c 8-1. procfs.c 9-1. sleep.c 10-1. print_string....
主要包括Linux的基本概念和操作,Linux的树型结构,Linux的文本编辑,Linux的安装和启动,用户管理,Shell编程技术,进程管理,C编译器,系统扩充,维护与监视,Linux的图形界面,网络的基本概念与设置,Linux在网络...
6.1 用curses函数库进行编译 175 6.2 curses术语和概念 176 6.3 屏幕 178 6.3.1 输出到屏幕 179 6.3.2 从屏幕读取 180 6.3.3 清除屏幕 180 6.3.4 移动光标 180 6.3.5 字符属性 181 6.4 键盘 183 6.4.1 键盘...
6.1 用curses函数库进行编译 175 6.2 curses术语和概念 176 6.3 屏幕 178 6.3.1 输出到屏幕 179 6.3.2 从屏幕读取 180 6.3.3 清除屏幕 180 6.3.4 移动光标 180 6.3.5 字符属性 181 6.4 键盘 183 6.4.1 键盘...
首先接到这一个项目,说是要用mediastreamer2做一个网络电话。之前也是从来没有接触过。于是首先开始在百度中搜索一下需要哪些东西,以及那些步骤。最后大致了解了一下,做这个项目最终要的就是需要移植好多的库,每...
将修改过的Makefile.common,Makefile.am,moduleinfo.nmake,moduldeinfo.h,Makefile.nmake及packet-rdp.c文件考到"rdp"文件夹下,然后进行编译,rdp插件自动生成完整,就可以正常工作了。 1. 解析协议细节 现在...
编译Linux内核 131 10.1 内核到底是什么 131 10.2 获取内核源代码 132 10.2.1 选择正确的版本 133 10.2.2 解压缩内核源代码 133 10.3 建立内核 134 10.3.1 make xconfig过程 135 10.3.2 内核...
-国嵌内核驱动进阶班-1-2(Linux内核源代码).avi -国嵌内核驱动进阶班-1-3(Linux内核配置与编译).avi -国嵌内核驱动进阶班-1-4(Linux内核模块开发).avi -国嵌内核驱动进阶班-1-5(必修实验).avi -第2天(U-...
用Busybox创建nfs文件系统 1、解压busybox-1.19.4.tar.bz2 修改Makefilez中的ARCH和CROSS_COMPILE与本机的路径一致: CROSS_COMPILE ?= /opt/crosstool/bin/arm-s3c2410-linux-gnu- ... ARCH ?= arm 2、编译...
fs2410.c代码如下: #if defined(CONFIG_CMD_NAND) typedef enum { NFCE_LOW, NFCE_HIGH } NFCE_STATE; static inline void NF_Conf(u16 conf) { S3C2410_NAND * const nand = S3C2410_GetBase_NAND(); ...
1、01原始编译全志r16平台tinav2.5系统: rootroot@cm88:~$ cd /home/wwt rootroot@cm88:/home/wwt$ rootroot@cm88:/home/wwt$ md5sum tinav2.5_orig_r16repack_20171214_1114.tar.gz aa13de7313f393ca25375d9802a...
1.1 上电 2 1.2 BIOS时代 3 1.3 内核引导程序 5 2 内核映像的形成 8 2.1 MakeFile预备知识 9 2.1.1 Makefile书写规则 9 2.1.2 Makefile变量 10 2.1.3 条件判断 14 2.1.4 函数 17 2.1.5 隐含规则 17 2.1.6 定义模式...
lrwxrwxrwx 1 rootroot rootroot 105 7月 28 15:33 proc.c -> /mnt/king_folder/studio/sdkbuild/R58/lichee/linux-3.4/modules/eurasia_km/services4/srvkm/env/linux/proc.c lrwxrwxrwx 1 rootroot rootroot 113 7...
3.3 二进制代码工具的使用................................................................................................. 52 3.3.1 GNU Binutils工具介绍....................................................
为您在 Pi 上运行的 Linux 版本克隆 Raspberry Pi Linux 内核源代码: $ mkdir raspi && cd raspi $ git clone -b rpi-3.18.y https://github.com/raspberrypi/linux.git 从您的 Pi 复制 /proc/config.gz 并将其...
您是否在2006年以后生产的Intel或AMD处理器上使用64位linux (对不起,对于OSX,您需要更改系统调用)? (尝试grep sse3 /proc/cpuinfo ) 您的系统是否有/dev/urandom ? 您有12KB或更多的磁盘空间吗? 如果是这样...
-国嵌内核驱动进阶班-1-2(Linux内核源代码).avi -国嵌内核驱动进阶班-1-3(Linux内核配置与编译).avi -国嵌内核驱动进阶班-1-4(Linux内核模块开发).avi -国嵌内核驱动进阶班-1-5(必修实验).avi -第2天(U-...
第1 章Linux操作系统概述................... .......................................................................... 2 1.1 Linux发展历史........................................................ 2 ...