`
jak47
  • 浏览: 74218 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

pro*cobol编译用Makefile

阅读更多

下面是我自做的pro*cobol + micro focus cobol编译用makefile

 

1. 共通定义common.mak

export COBCPY=../cpycom
export COBIDY=../../obj

DBCONN = xxx/xxx@orclxx'

COB = cob64
PROCOB = $(ORACLE_HOME)/bin/procob

RM = rm -f
MV = mv
CP = cp

CPYDIR = ../cpyxx
APLLIBDIR = ../../lib

OBJDIR = ../../obj
EXEDIR = ../../bin
SODIR = ../../lib

SRCDIR = ../

PROCFLAGS = dbms=v8 ireclen=500 maxliteral=132 oreclen=500 sqlcheck=full \
			userid=$(DBCONN) unsafe_null=yes common_parser=yes

ifdef SBITC
	CFLAGS = -z -C "TESTCOVER" -c -P COPYEXT"(cpy,CPY,cbl)"
else
	CFLAGS = -z  -c -P COPYEXT"(cpy,CPY,cbl)"
endif
	
SO_LINKFLAGS = -z  -L$(APLLIBDIR)
EXE_LINKFLAGS = -x -L$(APLLIBDIR) -L$(ORACLE_HOME)/lib

 

2. pro*cobol 的so文件编译Makefile如下

EXE  = $(SODIR)/lib$(PROG).so
OBJS = $(OBJDIR)/$(PROG).o

GEN_FILES = $(PROG).o $(PROG).idy $(PROG).int $(PROG).lst

all : $(EXE)

$(EXE) : $(OBJS)
	$(COB) -o $@ $(SO_LINKFLAGS) $(OBJS) $(LIBS)

$(OBJS) : $(OBJDIR)/$(PROG).cob
	$(COB) -o $@ $(CFLAGS) $<
	$(MV) $(GEN_FILES) $(OBJDIR)/

$(OBJDIR)/$(PROG).cob : $(PROG).pco
	$(PROCOB) $(PROCFLAGS) include=$(COBCPY) iname=$< oname=$@ lname=$(OBJDIR)/$(PROG).lis

clean:
	cd $(OBJDIR); $(RM) $(GEN_FILES); $(RM) $(PROG).cob $(PROG).lis
	$(RM) $(EXE)
	$(RM) $(OBJS)
	$(RM) $(GEN_FILES)

 3. pro*cobol的可执行程序Makefile如下

EXE = $(EXEDIR)/$(PROG)
OBJS = $(OBJDIR)/$(PROG).o

LIBS += -lclntsh $(ORACLE_HOME)/precomp/lib/cobsqlintf.o
GEN_FILES = $(PROG).o $(PROG).idy $(PROG).int $(PROG).lst

all : $(EXE)

$(EXE) : $(OBJS)
	$(COB) -o $@ $(EXE_LINKFLAGS) $(OBJS) $(LIBS)

$(OBJS) : $(OBJDIR)/$(PROG).cob
	$(COB) -o $@ $(CFLAGS) $<
	$(MV) $(GEN_FILES) $(OBJDIR)/

$(OBJDIR)/$(PROG).cob : $(PROG).pco
	$(PROCOB) $(PROCFLAGS) include=$(COBCPY) iname=$< oname=$@ lname=$(OBJDIR)/$(PROG).lis

clean:
	cd $(OBJDIR); $(RM) $(GEN_FILES); $(RM) $(PROG).cob $(PROG).lis
	$(RM) $(EXE)
	$(RM) $(OBJS)
	$(RM) $(GEN_FILES)

 3. micro focus cobol 的so文件编译Makefile

EXE  = $(SODIR)/lib$(PROG).so
OBJS = $(OBJDIR)/$(PROG).o

GEN_FILES = $(PROG).o $(PROG).idy $(PROG).int $(PROG).lst

all : $(EXE)

$(EXE) : $(OBJS)
	$(COB) -o $@ $(SO_LINKFLAGS) $(OBJS) $(LIBS)

$(OBJS) : $(PROG).cob
	$(COB) -o $@ $(CFLAGS) $<
	$(MV) $(GEN_FILES) $(OBJDIR)/


clean:
	cd $(OBJDIR); $(RM) $(GEN_FILES)
	$(RM) $(EXE)
	$(RM) $(OBJS)
	$(RM) $(GEN_FILES)

 

  4. micro focus cobol 的可执行文件编译Makefile

EXE = $(EXEDIR)/$(PROG)
OBJS = $(OBJDIR)/$(PROG).o

GEN_FILES = $(PROG).o $(PROG).idy $(PROG).int $(PROG).lst

all : $(EXE)

$(EXE) : $(OBJS)
	$(COB) -o $@ $(EXE_LINKFLAGS) $(OBJS) $(LIBS)

$(OBJS) : $(PROG).cob
	$(COB) -o $@ $(CFLAGS) $<
	$(MV) $(GEN_FILES) $(OBJDIR)/


clean:
	cd $(OBJDIR); $(RM) $(GEN_FILES)
	$(RM) $(EXE)
	$(RM) $(OBJS)
	$(RM) $(GEN_FILES)

 

分享到:
评论

相关推荐

    Pro*COBOL Precompiler Programmer’s Guide Release 8.1.6

    1. 语法检查:Pro*COBOL Precompiler 可以检查 COBOL 语言的语法错误,确保编译的正确性。 2. 代码优化:Pro*COBOL Precompiler 可以对 COBOL 代码进行优化,提高程序的执行效率。 3. 数据类型支持:Pro*COBOL ...

    Pro*COBOL Precompiler Programmer’s Guide Release 9.2

    接着,使用 Pro*COBOL Precompiler 将 COBOL 代码转换为 C 代码,最后使用 C 编译器编译生成可执行文件。 三、Pro*COBOL Precompiler 的编程技巧 在使用 Pro*COBOL Precompiler 进行编程时,需要注意以下几点: *...

    Pro*COBOL Precompiler Getting Started Releases 8.1.6 and 1.8.51

    "Pro*COBOL Precompiler Getting Started Releases 8.1.6 and 1.8.51 for Windows"表明此文档是针对Windows操作系统的用户指南,旨在帮助开发者在Windows环境下开始使用Pro*COBOL预编译器。Windows版的Pro*COBOL可能...

    Pro*COBOL Programmer's Guide 11g Release 2 (11.2)-520

    Pro*COBOL Programmer's Guide 11g Release 2 (11.2)-520

    Pro COBOL编程资料

    根据提供的文档信息,我们可以了解到这是一份关于Oracle嵌入式COBOL编程的资料,主要针对的是使用Pro*COBOL预编译器进行编程的相关指南。这份文档为日语版本,出版于1999年,适用于Release 8.1版本。下面将对文档中...

    11gwindows安装向导.pdf

    Windows 安装oracle 11g必备向导,请详细阅读,纯英文版Pro*Cobol has been tested and certified with Net Express 5.0. The following components are supported with the Microsoft Visual C++ .NET 2005 8.0, ...

    关于cobol学习资料

    COBOL(Common Business Oriented Language)是一种古老但仍然广泛使用的编程语言,尤其在金融、保险和政府领域。它的设计初衷是为了处理商业数据处理任务,因此在处理大量数据的业务系统中占据着重要地位。本压缩包...

    Cobol—完美教程—学习cobol不可不看

    COBOL(Common Business Oriented Language,通用商业语言)是一种早期的高级编程语言,自1959年推出以来,至今仍在许多企业级系统中广泛使用,尤其在金融、保险和政府领域。本教程旨在为读者提供全面而深入的COBOL...

    cobol ppt 教程

    **COBOL(Common Business Oriented Language)**是一种古老但仍然广泛应用的编程语言,尤其在企业级业务系统中。这份“谭浩强COBOL”教程可能是基于著名计算机科学家谭浩强教授的教学材料,旨在帮助学习者掌握COBOL...

    Pro COBOL Precompiler Getting Started, Release 9.2

    根据提供的文档信息,我们可以深入探讨Pro COBOL Precompiler Release 9.2的相关知识点,包括其功能、使用场景以及一些重要的编程语法。 ### 一、Pro COBOL Precompiler简介 Pro COBOL Precompiler是Oracle公司...

    cobol编译软件

    学习和使用COBOL编译软件涉及的知识点包括: - COBOL语言基础:了解COBOL的语法结构,如数据类型、程序结构(如IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE DIVISION)、控制结构...

    谭浩强经典 cobol书

    7. **数据描述**:COBOL使用DATA DIVISION来定义和组织数据,包括GROUP和COMP-3等特殊的数据项。 8. **COBOL的现代应用**:虽然COBOL是老语言,但仍在更新,可能涉及COBOL与现代技术(如Web服务、数据库接口)的...

    cobol学习资料

    COBOL(Common Business Oriented Language,通用商业语言)是一种古老但仍然广泛使用的编程语言,尤其在企业级应用和后台系统中占据重要地位。它的设计初衷是为了处理商业数据处理问题,因此,对于想要深入理解商业...

    cobol从浅入深教案

    自1959年诞生以来,COBOL经历了多个版本的迭代,包括COBOL-60、COBOL-68、ISO COBOL-72以及现在的COBOL-85。它被广泛应用于数据处理领域,特别是在大型企业中,处理大量数据的业务逻辑。COBOL的设计目标是使程序更...

    COBOL初级使用手册

    1. **易读性**:COBOL的语法结构清晰,大量使用英文关键字,使得程序可读性强,便于理解和维护。 2. **处理大数据**:COBOL擅长处理大量结构化数据,如表格、报表等,特别适合于企业级的批量处理任务。 3. **持久性*...

    Cobol移植至Java解决方案

    Cobol,一种在企业级应用中广泛使用的古老语言,以其强健的语法和对大量数据处理的能力而闻名。Java,现代且面向对象的语言,具有跨平台的特性,是现代软件开发的首选工具之一。下面我们将探讨从Cobol到Java移植的...

    日立cobol85开发环境

    日立COBOL85的特点在于它提供了友好的用户界面,使得开发者能够在日文环境下方便地编写、编译和调试COBOL代码。其功能可能包括: 1. **源代码编辑器**:支持COBOL的语法高亮、自动完成和错误检查,帮助初学者快速...

    商用COBOL程序设计

    每个案例都将详细讲解如何使用COBOL设计和实现解决方案,涉及的数据结构、文件操作、流程控制等技术。 通过学习本教程,读者将能够运用COBOL解决复杂的商业问题,编写出符合业务需求的高效程序。无论是在金融机构...

    Teach Yourself COBOL

    以上知识点构成了COBOL编程的基础,通过深入学习和实践,你可以熟练地使用COBOL编写高效、可靠的商业应用程序。所提供的图像文件(如10fig04.gif、22ty208.gif等)可能包含了书中的一些示例或图表,有助于理解COBOL...

    cobol简易教程

    * COBOL 源程序的书写格式:以句点(.)结束,每行最多 72 个字符,使用固定格式 二、COBOL 数据表示 * 常量:literal(字面值)、figural constant(数字常量)、alphanumeric constant(字母数字常量) * 层次的...

Global site tag (gtag.js) - Google Analytics