8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 20:03:02 +01:00

This time for sure - 4th generation main change this time was to incorperate

the super build as well as classic into fb2.
This commit is contained in:
skywalker 2002-07-29 15:04:06 +00:00
parent 07266b7ccc
commit cc0eb3f21a
43 changed files with 6160 additions and 0 deletions

View File

@ -0,0 +1,91 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.boot.gpre,v 1.1 2002-07-29 15:04:05 skywalker Exp $
#
ROOT=..
ObjModuleName=boot.gpre
CFLAGS := -DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
JRDBOOT_Files = dsc.cpp gds.cpp isc_ipc.cpp isc.cpp dls.cpp
JRDBOOT_Sources = $(addprefix jrd/, $(JRDBOOT_Files))
JRDBOOT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(JRDBOOT_Sources))))
GPRECOMMON_Files = cmd.cpp cme.cpp cmp.cpp c_cxx.cpp exp.cpp \
gpre.cpp hsh.cpp int.cpp int_cxx.cpp jrdmet.cpp movg.cpp \
msc.cpp par.cpp pat.cpp sqe.cpp sql.cpp cob.cpp \
noform.cpp
GPRE_Files = $(GPRECOMMON_Files) pretty.cpp gpre_meta_boot.cpp
GPRE_Sources = $(addprefix gpre/, $(GPRE_Files))
GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources))))
GPREBOOT_Objects = $(JRDBOOT_Objects) $(GPRE_Objects)
AllObjects = $(GPREBOOT_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gpre_boot
gpre_boot : $(GPRE_BOOT)
$(GPRE_BOOT): $(GPREBOOT_Objects) $(LIB)/libfbcommon.a
$(CC) $(LINK_OPTS) $(GPREBOOT_Objects) -o $@ -L $(LIB) -lfbcommon $(LINK_LIBS)
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
gpre_static: $(GPRE_STATIC)
$(GPRE_STATIC):$(GPRECommon_Objects) $(GPRE_Objects) $(BOOT_GDSLIB_Objects)
$(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ $(STATICLINK_LIBS)
$(CHMOD_7) $@
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,77 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.gbak,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gbak
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GBAK_Files = backup.epp restore.epp \
burp.cpp canonical.cpp misc.cpp mvol.cpp
GBAK_Sources = $(addprefix burp/, $(GBAK_Files))
GBAK_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GBAK_Sources))))
GSPLIT_Files= spit.cpp
GSPLIT_Sources = $(addprefix burp/, $(GSPLIT_Files))
GSPLIT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSPLIT_Sources))))
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all gbak gsplit
all: gbak gsplit
gbak : $(GBAK)
$(GBAK): $(GBAK_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(GBAK_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
gsplit : $(GSPLIT)
$(GSPLIT): $(GSPLIT_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(GSPLIT_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,80 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.gdef,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gdef
CFLAGS := -DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
GDEF_Files= exe.epp extract.epp \
ddl.cpp expand.cpp expr.cpp generate.cpp \
hsh.cpp lex.cpp parse.cpp trn.cpp
GDEF_Sources = $(addprefix dudley/, $(GDEF_Files))
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
AllObjects = $(GDEF_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all gdef
all: gdef
gdef: $(BIN)/gdef
$(BIN)/gdef: $(GDEF_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(GDEF_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
$(SRC)/exe.cpp $(SRC)/extract.epp: yachts.lnk
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,67 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.gfix,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gfix
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GFIX_Files = alice_meta.epp \
alice.cpp all.cpp exe.cpp tdr.cpp
GFIX_Sources = $(addprefix alice/, $(GFIX_Files))
GFIX_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GFIX_Sources))))
AllObjects = $(GFIX_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gfix
gfix : $(BIN)/gfix
$(BIN)/gfix: $(GFIX_Objects) $(LIB)/libfbclient.so
$(CC) $(LINK_OPTS) $(GFIX_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,70 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.gpre,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gpre
CFLAGS:= -DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GPRE_Files = gpre_meta.epp \
cmd.cpp cme.cpp cmp.cpp c_cxx.cpp exp.cpp gpre.cpp \
hsh.cpp int.cpp int_cxx.cpp jrdmet.cpp movg.cpp msc.cpp par.cpp \
pat.cpp pretty.cpp sqe.cpp sql.cpp cob.cpp noform.cpp
GPRE_Sources = $(addprefix gpre/, $(GPRE_Files))
GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources))))
AllObjects = $(GPRE_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gpre
gpre : $(BIN)/gpre
$(BIN)/gpre: $(GPRE_Objects) $(LIB)/libfbclient.so
$(CC) $(LINK_OPTS) $(GPRE_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,70 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.isql,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.isql
CFLAGS:=-DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
ISQL_Files = extract.epp isql.epp show.epp
ISQL_Sources = $(addprefix isql/, $(ISQL_Files))
ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources))))
AllObjects = $(ISQL_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: isql
isql : $(ISQL)
$(ISQL): $(ISQL_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,147 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.client.util,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=client.util
CFLAGS:= -DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
CREATEDB_Files= create_db.cpp
CREATEDB_Sources = $(addprefix utilities/, $(CREATEDB_Files))
CREATEDB_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CREATEDB_Sources))))
DROP_Files= drop.cpp dropv3.cpp
DROP_Sources = $(addprefix utilities/, $(DROP_Files))
DROP_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DROP_Sources))))
GSEC_Files = gsec.cpp
GSEC_Sources = $(addprefix utilities/, $(GSEC_Files))
GSEC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSEC_Sources))))
GSTAT_Files = dba.epp ppg.cpp
GSTAT_Sources = $(addprefix utilities/, $(GSTAT_Files))
GSTAT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSTAT_Sources))))
FBGUARD_Files = guard.cpp util.cpp
FBGUARD_Sources = $(addprefix utilities/, $(FBGUARD_Files))
FBGUARD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBGUARD_Sources))))
FBMGR_Files = ibmgr.cpp srvrmgr.cpp
FBMGR_Sources = $(addprefix utilities/, $(FBMGR_Files))
FBMGR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBMGR_Sources))))
REBUILD_Files = rebuild.cpp rstore.epp rmet.epp
REBUILD_Sources = $(addprefix utilities/, $(REBUILD_Files))
REBUILD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(REBUILD_Sources))))
RELAY_Files = relay.cpp
RELAY_Sources = $(addprefix utilities/, $(RELAY_Files))
RELAY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(RELAY_Sources))))
AllObjects = $(CREATEDB_Object) $(DROP_Object) \
$(GSEC_Objects) $(GSTAT_Object) $(FBGUARD_Objects) \
$(FBMGR_Objects) $(REBUILD_Objects) $(RELAY_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all create_db gstat gds_drop gds_relay gsec fbguard fbmgr_bin
all: gstat gds_drop gds_relay gsec fbguard fbmgr_bin
create_db: $(CREATE_DB)
$(CREATE_DB): $(CREATEDB_Objects)
$(CC) $(LINK_OPTS) $(CREATEDB_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
gstat : $(GSTAT)
$(GSTAT): $(GSTAT_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(GSTAT_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
gds_drop: $(GDS_DROP)
$(GDS_DROP): $(DROP_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(DROP_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
gds_relay: $(GDS_RELAY)
$(GDS_RELAY): $(RELAY_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(RELAY_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
gsec: $(GSEC)
$(GSEC): $(GSEC_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(GSEC_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
fbguard: $(FBGUARD)
$(FBGUARD): $(FBGUARD_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(FBGUARD_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
fbmgr_bin: $(FBMGR_BIN)
$(FBMGR_BIN): $(FBMGR_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(FBMGR_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
# This one needs a bit of work.
rebuild: $(GDS_REBUILD)
$(GDS_REBUILD): $(REBUILD_Objects) $(LIBFBCLIENT_SO)
$(CC) $(LINK_OPTS) $(REBUILD_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,78 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gbak,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gbak
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GBAK_Files = backup.epp restore.epp \
burp.cpp canonical.cpp misc.cpp mvol.cpp
GBAK_Sources = $(addprefix burp/, $(GBAK_Files))
GBAK_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GBAK_Sources))))
GSPLIT_Files= spit.cpp
GSPLIT_Sources = $(addprefix burp/, $(GSPLIT_Files))
GSPLIT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSPLIT_Sources))))
AllObjects = $(GBAK_Objects) $(GSPLIT_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all gbak gsplit
all: gbak gsplit
gbak : $(GBAK)
$(GBAK): $(GBAK_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(GBAK_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
gsplit : $(GSPLIT)
$(GSPLIT): $(GSPLIT_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(GSPLIT_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,79 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gdef,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gdef
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
GDEF_Files= exe.epp extract.epp \
ddl.cpp expand.cpp expr.cpp generate.cpp \
hsh.cpp lex.cpp parse.cpp trn.cpp
GDEF_Sources = $(addprefix dudley/, $(GDEF_Files))
GDEF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GDEF_Sources))))
AllObjects = $(GDEF_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all gdef
all: gdef
gdef: $(BIN)/gdef
$(BIN)/gdef: $(GDEF_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(GDEF_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
$(SRC)/exe.cpp $(SRC)/extract.epp: yachts.lnk
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,67 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gfix,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gfix
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GFIX_Files = alice_meta.epp \
alice.cpp all.cpp exe.cpp tdr.cpp
GFIX_Sources = $(addprefix alice/, $(GFIX_Files))
GFIX_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GFIX_Sources))))
AllObjects = $(GFIX_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gfix
gfix : $(BIN)/gfix
$(BIN)/gfix: $(GFIX_Objects) $(LIB)/libfbembed.so
$(CC) $(LINK_OPTS) $(GFIX_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,68 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gpre,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gpre
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GPRE_Files = gpre_meta.epp \
cmd.cpp cme.cpp cmp.cpp c_cxx.cpp exp.cpp gpre.cpp \
hsh.cpp int.cpp int_cxx.cpp jrdmet.cpp movg.cpp msc.cpp par.cpp \
pat.cpp pretty.cpp sqe.cpp sql.cpp cob.cpp noform.cpp
GPRE_Sources = $(addprefix gpre/, $(GPRE_Files))
GPRE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRE_Sources))))
AllObjects = $(GPRE_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gpre
gpre : $(BIN)/gpre
$(BIN)/gpre: $(GPRE_Objects) $(LIB)/libfbembed.so
$(CC) $(LINK_OPTS) $(GPRE_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,69 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.isql,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.isql
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
ISQL_Files = extract.epp isql.epp show.epp
ISQL_Sources = $(addprefix isql/, $(ISQL_Files))
ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources))))
AllObjects = $(ISQL_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: isql
isql : $(ISQL)
$(ISQL): $(ISQL_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,67 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.lockmgr,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.lockmgr
CFLAGS := -DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
LOCKMGR_Files = manager.cpp
LOCKMGR_Sources = $(addprefix lock/, $(LOCKMGR_Files))
LOCKMGR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(LOCKMGR_Sources))))
AllObjects = $(LOCKMGR_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: lock_mgr
all : lock_mgr
lock_mgr : $(BIN)/gds_lock_mgr
$(BIN)/gds_lock_mgr: $(LOCKMGR_Objects) $(LIBFBCOMMON_A) $(LIBFBSTATIC_A)
$(CXX) $(LINK_OPTS) $(LOCKMGR_Objects) -o $@ -L $(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,91 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.qli,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.qli
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
QLI_Files= all.cpp command.cpp compile.cpp dtr.cpp err.cpp eval.cpp \
expand.cpp exe.cpp noform.cpp format.cpp gener.cpp help.cpp \
hsh.cpp lex.cpp meta.cpp mov.cpp parse.cpp picstr.cpp proc.cpp \
report.cpp show.cpp
QLI_Sources = $(addprefix qli/, $(QLI_Files))
QLI_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(QLI_Sources))))
AllObjects = $(QLI_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all qli
all: qli
qli : $(QLI)
$(QLI): $(QLI_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(QLI_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
$(CHMOD_S7) $@
# qli_help
#
# qli_help is now directly build in the refDatabase directory, and doesn't
# need to be rebuilt here.
# These need to change to $(GEN_SRC) at some stage
$(SRC)/meta.cpp $(SRC)/proc.cpp $(SRC)/show.cpp: yachts.lnk
$(SRC)/help.cpp: help.gdb
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/metadata.gdb yachts.lnk
help.gdb:
ln -fs $(SRC_ROOT)/refDatabases/help.gdb help.gdb
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,156 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.embed.util,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.util
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
CREATEDB_Files= create_db.cpp
CREATEDB_Sources = $(addprefix utilities/, $(CREATEDB_Files))
CREATEDB_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CREATEDB_Sources))))
DROP_Files= drop.cpp dropv3.cpp
DROP_Sources = $(addprefix utilities/, $(DROP_Files))
DROP_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DROP_Sources))))
GSEC_Files = gsec.cpp
GSEC_Sources = $(addprefix utilities/, $(GSEC_Files))
GSEC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSEC_Sources))))
GSTAT_Files = dba.epp ppg.cpp
GSTAT_Sources = $(addprefix utilities/, $(GSTAT_Files))
GSTAT_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GSTAT_Sources))))
IBGUARD_Files = guard.cpp util.cpp
IBGUARD_Sources = $(addprefix utilities/, $(IBGUARD_Files))
IBGUARD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(IBGUARD_Sources))))
IBMGR_Files = ibmgr.cpp srvrmgr.cpp
IBMGR_Sources = $(addprefix utilities/, $(IBMGR_Files))
IBMGR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(IBMGR_Sources))))
REBUILD_Files = rebuild.cpp rstore.epp rmet.epp
REBUILD_Sources = $(addprefix utilities/, $(REBUILD_Files))
REBUILD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(REBUILD_Sources))))
RELAY_Files = relay.cpp
RELAY_Sources = $(addprefix utilities/, $(RELAY_Files))
RELAY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(RELAY_Sources))))
AllObjects = $(CREATEDB_Object) $(DROP_Object) \
$(GSEC_Objects) $(GSTAT_Object) $(IBGUARD_Objects) \
$(IBMGR_Objects) $(REBUILD_Objects) $(RELAY_Objects)
AllObjects = $(CREATEDB_Objects) $(DROP_Objects) \
$(GSEC_Objects) $(GSTAT_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: create_db gstat gds_drop gds_relay gsec ibguard ibmgr_bin
all: gstat gds_drop gds_relay gsec
# it's important to note here that create_db is linked against the static
# 'boot' libraries rather than the later embedded shared library. The
# other utilities are released but create_db is used in construction.
# MOD 29-July-2002
create_db: $(CREATE_DB)
$(CREATE_DB): $(CREATEDB_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(CREATEDB_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
gstat : $(GSTAT)
$(GSTAT): $(GSTAT_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(GSTAT_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
gds_drop: $(GDS_DROP)
$(GDS_DROP): $(DROP_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(DROP_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
gds_relay: $(GDS_RELAY)
$(GDS_RELAY): $(RELAY_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(RELAY_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
gsec: $(GSEC)
$(GSEC): $(GSEC_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(GSEC_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
ibguard: $(IBGUARD)
$(IBGUARD): $(IBGUARD_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(IBGUARD_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
ibmgr_bin: $(IBMGR_BIN)
$(IBMGR_BIN): $(IBMGR_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(IBMGR_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
# This one needs a bit of work.
rebuild: $(GDS_REBUILD)
$(GDS_REBUILD): $(REBUILD_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(REBUILD_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,117 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.extlib,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=extlib
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
UDF= $(FIREBIRD)/UDF
UDF_Files = ib_udf.c
UDF_Sources = $(addprefix extlib/, $(UDF_Files))
UDF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(UDF_Sources))))
FBUDF_Files = fbudf.cpp
FBUDF_Sources = $(addprefix extlib/fbudf/, $(FBUDF_Files))
FBUDF_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBUDF_Sources))))
UTIL_Files = ib_util.c
UTIL_Sources = $(addprefix extlib/, $(UTIL_Files))
UTIL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(UTIL_Sources))))
AllObjects = $(UDF_Objects) $(UTIL_Objects) $(FBUDF_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all lib_ib_udf lib_ib_util lib_fb_udf
all: lib_ib_udf lib_fb_udf lib_ib_util
# The libraires in this directory could do with a bit more work, since they
# the previous code (presumably by John) that does the ar crv stuff, might
# work still, even if the .o files have directory prefixes on them.
# And the udf stuff doesn't want to do .so.X.X.X extensions in UDF directory
# or the loader gets confused with loading the links.
# MOD 29-July-2002
# ib_udf.so
#
# User defined functions. (I've put the .so extension back onto the library)
#
lib_ib_udf: $(UDF)/ib_udf.so
#$(UDF)/ib_udf.so(%.o) : %.o
# ar crv $@ $%
$(UDF)/ib_udf.so: $(UDF_Objects)
$(LIB_LINK) -Wl,-soname,ib_udf.so -Wl,-rpath,/usr/lib -o $@ $^
# -$(LN) $(@F) $(LIBFBINTL_SOBASENAME)
# -$(LN) $(notdir $(LIBFBINTL_SOBASENAME)) $(LIBFBINTL_SONAME)
lib_fb_udf: $(UDF)/fb_udf.so
$(UDF)/fb_udf.so: $(FBUDF_Objects)
$(LIB_LINK) -Wl,-soname,fb_udf.so -Wl,-rpath,/usr/lib -o $@ $^
# -$(LN) $(@F) $(LIBFBINTL_SOBASENAME)
# -$(LN) $(notdir $(LIBFBINTL_SOBASENAME)) $(LIBFBINTL_SONAME)
# ib_util
lib_ib_util: $(LIB)/ib_util.so
$(LIB)/ib_util.so: $(UTIL_Objects)
$(LIB_LINK) -Wl,-soname,ib_util.so -Wl,-rpath,/usr/lib -o $@ $^
# -$(LN) $(@F) $(LIBFBINTL_SOBASENAME)
# -$(LN) $(notdir $(LIBFBINTL_SOBASENAME)) $(LIBFBINTL_SONAME)
#$(LIB)/ib_util.so(%.o) : %.o
# ar crv $@ $%
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,78 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.fbserver,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=fbserver
CFLAGS:=-DSUPERSERVER
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
SERVER_Files = inet_server.cpp server.cpp
SERVER_Sources = $(addprefix remote/, $(SERVER_Files))
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
AllObjects = $(SERVER_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: fbserver
fbserver : $(BIN)/fbserver
$(BIN)/fbserver: $(SERVER_Objects) $(LIB)/libfbserver.a
$(CC) $(LINK_OPTS) $(SERVER_Objects) -o $@ -L $(LIB) -lfbserver $(LINK_LIBS)
# $(CHMOD_S7) $@
#$(LIB)/libalice.a \
# $(LIB)/libburp.a $(LIB)/libcommon.a
AllObjects = $(SERVER_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
-include $(Dependencies)

87
builds/posix/Makefile.in.fbutil Executable file
View File

@ -0,0 +1,87 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.fbutil,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=../..
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
@SET_MAKE@
AllObjects= $(FBUTIL_Objects)
Dependancies=$(AllObjects:.o=.d)
fbutil_boot : $(LIB)/fbutil_boot.a
$(LIB)/fbutil_boot.a: $(FBUTIL_Objects)
-$(RM) $@
$(AR) $@ $^
-$(RANLIB) $@
$(CHMOD_6) $@
# Build all our objects that belong in the shared library.
.PHONY: jrdlib_dependencies
jrdlib_dependencies: $(FBUTIL_Objects)
libtestx.so.2 : $(FBUTIL_Objects)
# g++ -shared -o $@ $^ $(STATICLINK_LIBS)
$(LIB_LINK) $(LIB_LINK_OPTIONS) -o $@ $^
# The following was just for testing
testx: main.o
# g++ -v -shared -o $@ $^ -L. -ltestx $(STATICLINK_LIBS)
g++ -v -o $@ $^ -L. -ltestx.so.2
testx2:
-rm libtestx.so testx
make libtestx.so.2
make testx
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
-include $(Dependancies)

View File

@ -0,0 +1,664 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.firebird,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
ISC_USER= sysdba
ISC_PASSWORD= masterkey
#LD_LIBRARY_PATH=/home/odonohue/src/firebird2/gen/firebird/lib:/usr/lib
TEST_PATH = @FIREBIRD_BUILD_DIR@
LD_LIBRARY_PATH=$(RealFirebirdPath)/lib
export ISC_USER
export ISC_PASSWORD
#export INTERBASE
export FIREBIRD
export DYLD_FRAMEWORK_PATH
export LD_LIBRARY_PATH
######################################################################
########### Build process overview #################################
#
# Firebird2 has brought with it a new build process. This extended
# comment should help explain that process. Keep in mind there are
# a number of artifacts left in the makefiles from the previous build
# processes.
#
# The build process starts by building a bootstrap version of gpre.
# This is possible because of a special version of gpre_meta.cpp,
# gpre_meta_boot.cpp. It is a copy of the gpre_meta.epp file with all
# the embeded commands removed. There are pregenerated copy of the
# codes.h and related files in the source tree. These are used for the
# entire build process. In the future we should check for the ability
# to regenerate codes.h and friends (ie, a working FB install) and only
# use the static files as a last resort.
#
# The bootstrap version of gpre (gpre_boot) is used to build all the
# engine files, except security.bin. security.epp requires the security
# database which is not available at this time. The code in jrd/alt.cpp
# that references the functions in security.bin has been #ifdef'ed out.
# During this phase of the build process the limited version of alt.bin
# is used. The full version of alt.bin is compiled later in the build
# process after the security database is available. After the
# (hopefully pending) redesign of FB security the security database
# dependancies should go away.
#
# The engine objects are placed in the jrd_static.a archive. This archive
# contains all the objects needed to create statically linked programs.
# A fully functional version of gpre, gpre_static, is then generated
# using jrd_static.a. I choose to statically link the few utilities
# required to build FB to avoid possible shared library symbol conflicts.
#
# All of the aforementioned work is done in the
# first phase of the compilation. I called it the first phase because
# none of the work (except codes.h and friends) requires database access.
# Phase 2 builds all the tools necessary to compile the rest of FB. Those
# tools are gbak and the gds.so shared library.
#
# The .epp files in gbak require the yachts.lnk database. But the only
# thing the database is used for is the metadata, so an empty database
# will do the job. The create_db program is a small c API utility that
# creates an empty database. This utility is statically linked.
# Once there is an empty database gbak_static is built. gbak_static is
# used later on in the compilation process to restore build databases.
#
# After gbak_static is built the gds.so library is built. This library is
# still missing the security functionality. Note there is a dependancy
# between gbak_static and gds.so because the shared library contains the
# PYXIS code, which needs the forms.gdb database restored from forms.gbak.
#
# Now we are on phase 3, building the actual DB tools. This is as expected.
# We build all tools and link them against the shared library, including
# gpre, gbak, and the fully functional gds.so.
#
# John Belardo ~ July 2001
#
# In the tradition of makefiles, they have evolved even further. But most of
# the above is still applies. There now tends to be a Makefile for each
# target rather than the more traditional Makefile per directory model.
# This was needed to enable super to build corrently. But it also allowed
# some of the boot build process to be done simpler as well.
# MOD 28-July-2002
#
########### And now on with the show............
#################################################################
#__________________________________________________________________________
#
# This is the main target for the make. The targets are
# firebird_embedded and firebird_server. Or as they used to be known
# firebird_classic and firebird_super.
# (The .PHONY: stuff just means it's a fake target, and make wont go searching
# for a real file or directory - but there are a lot of them here
# MOD 28-July-2002)
.PHONY: all firebird firebird_boot firebird_basic
.PHONY: firebird_embedded firebird_server classic_programs super_programs
.PHONY: firebird_super firebird_classic
# The main targets, firebird_embedded and firebird_server
firebird : firebird_embedded
firebird_embedded: firebird_basic classic_targets
firebird_server: firebird_basic super_targets
# To help those remember to 'older' forms
firebird_classic: firebird_embedded
firebird_super: firebird_server
# In building embedded/server version some targets are common, mainly the
# boot kit, isc4.gdb database and messages files. Boot builds a number of
# static programs gpre_static gbak_static isql_static though an involved
# process. These are used to compile the rest of the source, as it saves
# some complications particularly for super in needing to start the server
# that you are currently building. MOD 28-July-2002
firebird_basic: firebird_boot basic_targets
firebird_boot: updateBuildNum boot_phase1 boot_phase2
#----------------------------------------------------------------------------
# jrd/build_no.h contains the version and build# fields used throughout the
# program and quoted in the tools. This routine will update the build_no.h
# file with the auto update build# script file, writeBuildNum.sh. The
# writeBuildNum.sh script is autoupdated by CVS checkins.
#
.PHONY: updateBuildNum
updateBuildNum : jrd/build_no.h
jrd/build_no.h : misc/writeBuildNum.sh
(cd ..; ./src/misc/writeBuildNum.sh rebuildHeader)
#---------------------------------------------------------------------------
# Phase1: make a gpre_static from scratch so we can parse .e and .epp files
# to build the rest of the system. It goes in two bits make a real simple
# gpre_boot one and use that to build a gpre_static one.
#
# gpre_static has a fair bit more in it and we have now actually built most
# of the libraries. With gpre_static we now have enough to build gbak and
# start restoring databases.
#
# if $(BIN)/gpre_static exists then phase1 is complete. phase1 does not then
# rebuild automatically gpre_static if some of it's dependancies change. We
# only need on gpre_static to boot after we have one we don't care.
# (If you really want to rebuild it you need to remove the executable file
# $(BIN)/gpre_static).
#
.PHONY: boot_phase1 boot_phase1_build
.PHONY: libfbcommon libfbstatic gpre_boot gpre_static
boot_phase1: $(GPRE_STATIC)
$(GPRE_STATIC):
$(MAKE) boot_phase1_build
boot_phase1_build: libfbcommon gpre_boot libfbstatic gpre_static
libfbcommon:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbcommon $@
gpre_boot: libfbcommon
$(MAKE) -f $(MAKE_ROOT)/Makefile.boot.gpre $@
libfbstatic: gpre_boot
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbstatic $@
gpre_static: gpre_boot libfbcommon libfbstatic
$(MAKE) -f $(MAKE_ROOT)/Makefile.static.gpre $@
# The lock manager for classic (embedded)
lock_mgr : libfbcommon libfbstatic
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.lockmgr $@
#--------------------------------------------------------------------------
#Phase2: We can now start build some of the static utilities needed to build
# an empty database (lock manager and create_db). Then we rebuild all the
# items we have built in the static library into a dynamic library.
# (It's probably possible to directly build the dynamic library - but thats
# for another day). We still don't have the security database stuff.
#
# Phase2 is complete with the building of an isc4.gdb user store database
# in order to do that isql and gdef tools need to be built without security
# to do that a special alt_boot.o is inserted into the shared library.
# Again once isc4.gdb is built then were not too worried about the components
# (in fact some of them have to be rebuilt again to incorperate the security
# module)
#
.PHONY: create_db empty_db gbak_static isql_static refDatabases
boot_phase2 : $(ISC_GDB)
$(ISC_GDB):
$(MAKE) boot_phase2_build
boot_phase2_build: create_db empty_db gbak_static isql_static
create_db:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.util $@
gbak_static: lock_mgr
$(MAKE) -f $(MAKE_ROOT)/Makefile.static.gbak $@
isql_static:
$(MAKE) -f $(MAKE_ROOT)/Makefile.static.isql $@
empty_db ref_databases : gbak_static
$(MAKE) -f $(MAKE_ROOT)/Makefile.refDatabases $@
isc4.gdb: gdef isql # build the security database
$(MAKE) -C utilities $@
#--------------------------------------------------------------------------
#Phase3: Now we start building the tools we are actually going to use
# against the shared library.
# an empty database (lock manager and create_db). Then we rebuild all the
# items we have built in the static library into a dynamic library.
# (It's probably possible to directly build the dynamic library - but thats
# for another day). We still don't have the security database stuff.
#
# Notes:
# mainly we need gdef and isql to be able to build isc4.gdb. I wonder
# if we could reduce the tricky dependancy by restoring the isc4.gdb database
# earlier, then perhaps we could build the jrdlib in one step and include
# the security bits and pieces.
.PHONY: ref_databases msgs msgs_intl intl extlib includes
basic_targets: ref_databases msgs msgs_intl intl extlib includes examples \
otherfiles
msgs: # messages file for user $(FIREBIRD)/interbase.msg
$(MAKE) -f $(MAKE_ROOT)/Makefile.msgs $@
msgs_intl: # international version of msgs file
$(MAKE) -f $(MAKE_ROOT)/Makefile.msgs $@
intl: # international lang components $(FIREBIRD)/intl/
$(MAKE) -f $(MAKE_ROOT)/Makefile.intl
extlib: # external programs than can be called
$(MAKE) -f $(MAKE_ROOT)/Makefile.extlib
# distribution header include files
includes: include_generic
# examples still need a good makefile to ship with them
examples:
$(MAKE) -C ../gen/v5_examples -f ../Makefile.v5_examples
otherfiles: misc_files script_files
#_ Embedded Firebird Targets (Classic)_______________________________________
.PHONY: libfbembed inet_server embed_gfix embed_gbak embed_isql
.PHONY: embed_gpre embed_util
classic_targets: libfbembed inet_server embed_gfix embed_gbak embed_isql \
embed_gpre embed_util
libfbembed:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbembed $@
inet_server:
$(MAKE) -f $(MAKE_ROOT)/Makefile.inet_server
embed_gfix:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.gfix
embed_gbak:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.gbak
embed_isql:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.gbak
embed_gpre:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.gpre
embed_util:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.util
embed_gdef:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.gdef
embed_qli:
$(MAKE) -f $(MAKE_ROOT)/Makefile.embed.qli
#_ Firebird Server Targets (super and super client)__________________________
.PHONY: libfbserver fbserver
.PHONY: libfbclient client_gfix client_gbak client_isql client_gpre client_util
super_targets: libfbserver fbserver libfbclient client_gfix client_gbak \
client_isql client_gpre client_util
libfbserver:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbserver $@
fbserver:
$(MAKE) -f $(MAKE_ROOT)/Makefile.fbserver $@
libfbclient:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbclient $@
client_gfix:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gfix
client_gbak:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gbak
client_gpre:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gpre
client_isql:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gbak
client_util:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.util
client_gdef:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gdef
#sysdba_user gstat: # add sysdba user and build gstat program
# $(MAKE) -C utilities $@
#---------------------------------------------------------------------------
# This target builds the include files for disttribution with the release
# Some of the files differ from the ones used internally to compile the
# software - mainly they are just flattened out to make the view simpler
# from an external point of view.
INCLUDE_DEST= $(FIREBIRD)/include
include_generic: $(INCLUDE_DEST)/ib_util.h \
$(INCLUDE_DEST)/gds.h \
$(INCLUDE_DEST)/ibase.h
# ib_util.h actually is a marker for a number of headers
# All these files are #includes in gds.h here we cat them all together
# and remove the embedded #includes to make it simpler for external usage.
GDS_ExtraFiles = misc/gds_header.txt include/fb_types.h \
jrd/ibase.h jrd/blr.h include/gen/iberror.h \
jrd/gdsold.h include/gen/codes.h
SRC_GDS_ExtraFiles = $(addprefix $(SRC_ROOT)/, $(GDS_ExtraFiles))
$(INCLUDE_DEST)/gds.h: $(SRC_GDS_ExtraFiles)
$(CAT) $^ \
| grep -v '^#include "../jrd/blr.h"' \
| grep -v '^#include "fb_types.h"' \
| grep -v '^#include "gen/iberror.h"' \
| grep -v '^#include "iberror.h"' \
| grep -v '^#include "gen/codes.h"' > $@
IBASE_ExtraFiles = jrd/blr.h include/gen/iberror.h
SRC_IBASE_ExtraFiles = $(addprefix $(SRC_ROOT)/, $(IBASE_ExtraFiles))
$(INCLUDE_DEST)/ibase.h: $(SRC_IBASE_ExtraFiles)
$(CAT) $^ \
| grep -v '^#include "../jrd/blr.h"' \
| grep -v '^#include "fb_types.h"' \
| grep -v '^#include "gen/iberror.h"' > $@
# Copy all the other headers to the distribution directory. we use
# ib_util.h as the marker for all the files.
OtherDistribHeaders = extlib/ib_util.h \
jrd/perf.h \
jrd/blr.h \
include/gen/iberror.h
SRC_OtherDistribHeaders = $(addprefix $(SRC_ROOT)/, $(OtherDistribHeaders))
$(INCLUDE_DEST)/ib_util.h : $(SRC_OtherDistribHeaders)
$(CP) $^ $(INCLUDE_DEST)/
# There are also gds*f and gds*ada header files around if someone
# wants them. You might need to hunt around in the old cvs tree for them.
#___________________________________________________________________________
# When the msgs.gdb dataabse has changed with new messages a number of header
# files need to be regenerated. This is the target to do it. These new
# header files (placed in include/gen) then need to be committed since they
# are not generally rebuilt from scratch
rebuild_codes :
$(MAKE) -C jrd $@
#___________________________________________________________________________
# Install generic files.
CLASSIC_MiscFiles = firebird.xinetd
SUPER_MiscFiles = firebird.init.d.generic firebird.init.d.mandrake README
INSTALL_MiscFiles = $(addprefix $(FIREBIRD)/misc/, $(CLASSIC_MiscFiles))
#INSTALL_MiscFiles = $(addprefix $(FIREBIRD)/misc/, $(SUPER_MiscFiles))
misc_files : $(INSTALL_MiscFiles)
$(FIREBIRD)/misc/% :: $(SRC_ROOT)/install/misc/%
$(CP) $^ $@
#___________________________________________________________________________
#
CLASSIC_ScriptFiles = CSchangeRunUser.sh CSrestoreRootRunUser.sh changeDBAPassword.sh
SUPER_ScriptFiles = SSchangeRunUser.sh SSrestoreRootRunUser.sh changeDBAPassword.sh
INSTALL_ScriptFiles = $(addprefix $(BIN)/, $(CLASSIC_ScriptFiles))
#INSTALL_ScriptFiles = $(addprefix $(BIN)/, $(SUPER_ScriptFiles))
script_files : $(INSTALL_ScriptFiles)
$(BIN)/% :: $(SRC_ROOT)/install/classic/%
$(CP) $^ $@
chmod ugo=rx $@
$(BIN)/% :: $(SRC_ROOT)/install/super/%
$(CP) $^ $@
chmod ugo=rx $@
$(BIN)/% :: $(SRC_ROOT)/install/misc/%
$(CP) $^ $@
chmod ugo=rx $@
# Just a note that some of the script files (xinetd/firebird etc) need to h
# have their paths changed in their shell scripts.
#___________________________________________________________________________
#
.PHONY: install
install:
$(MAKE) -C install $@
packages:
$(MAKE) -C install $@
installclassic:
$(SRC_ROOT)/install/classic/CSpreinstall.sh
# $(SRC_ROOT)/install/classic/CSinstall.sh
# $(SRC_ROOT)/install/classic/CSpostinstall.sh
dist:
$(MAKE) -C install $@
#___________________________________________________________________________
# This one needs some more work.
clean: clean_objs clean_libs clean_exes clean_dbs clean_dependancies clean_build
clean_objs:
-echo $(GDSLIB_Objects) | xargs rm -f
-echo $(GDSLIB_SharedObjects) | xargs rm -f
clean_libs:
-rm $(GDSLIB_LA)
-rm $(JRD_BOOT)
clean_exes:
-rm -f $(BIN)/*
# -rm $(Executables)
clean_dbs:
-rm -f refDatabases/*\.gdb
# Clear out dependancies files created by the gcc compiler
# since when .o and other files are deleted the dependant
# targets need to be recalculated
# MOD 10-July-2002
clean_dependancies:
rm -f `find $(GEN_ROOT)/ -type f -name '*.d' -print`
# delete only all of the files of type regular file in $FIREBIRD
# leave the directories to make dependacies work still
# MOD 11-July-2002
clean_build:
rm -f `find $(GEN_ROOT)/firebird -type f -print`
# rm -f $(GDSLIB_OBJECTS) $(GDSLIB_PHASE3_OBJECTS)
darwin_installer_common: force
$(QUIET_ECHO) "Building Firebird Installer..."
mkdir -p $(OBJS)/firebird/installer_tmp
$(MV) $(OBJS)/firebird/Firebird.framework $(OBJS)/firebird/installer_tmp
$(CP) $(SOURCE)/sandbox/bellardo/darwin/makefile \
$(OBJS)/firebird/installer_tmp
ln -s $(OBJS)/firebird/bellardo/darwin \
$(OBJS)/firebird/installer_tmp/files
ln -s ../.. $(OBJS)/firebird/installer_tmp/source
$(CD) $(OBJS)/firebird/installer_tmp && $(MAKE) install_package
$(RM) -rf $(OBJS)/firebird/installer_tmp
-$(RM) -rf $(OBJS)/firebird/Firebird.framework
darwin_installer: darwin_installer_common darwin_framework
super_darwin_installer: darwin_installer_common ss_darwin_framework
darwin_framework: force
$(QUIET_ECHO) "Building Classic Firebird Framework..."
$(RM) -rf $(OBJS)/firebird/Firebird2.framework
$(MAKE) -f $(SOURCE)/sandbox/bellardo/darwin/FirebirdFramework.make \
framework
ss_darwin_framework: force
$(QUIET_ECHO) "Building Super Server Firebird Framework..."
$(RM) -rf $(OBJS)/firebird/Firebird.framework
$(MAKE) -f $(SOURCE)/sandbox/bellardo/darwin/FirebirdFramework.make \
super_framework
#____________________________________________________________________________
# The installations need to find a better and possibly linux
# specific home. The tar installs should probably work with
# other unix type of systems.
# I have seperated super and classic out since I needed different
# files in each case.
miscFiles: force
$(QUIET_ECHO) "Building miscellaneous install files..."
mkdir -p $(OBJS)/firebird/misc
-$(CP) $(SOURCE)/makefiles/install.unix $(OBJS)/firebird/install
-$(CP) $(SOURCE)/makefiles/servers.isc $(OBJS)/firebird
-$(CP) $(SOURCE)/makefiles/inetd.conf.unx $(OBJS)/firebird/inetd.conf.isc
-$(CP) $(SOURCE)/makefiles/services.isc $(OBJS)/firebird
-$(CP) $(SOURCE)/makefiles/sys.conf.isc $(OBJS)/firebird
-$(CP) $(SOURCE)/sandbox/skywalker/install/misc/firebird.xinetd $(OBJS)/firebird/misc
superMiscFiles: force
$(QUIET_ECHO) "Building miscellaneous install files..."
$(CP) source/$(SYSTEM)/install source/interbase
-$(CP) source/$(SYSTEM)/servers.isc source/interbase
$(CP) source/$(SYSTEM)/inetd.conf.isc source/interbase
$(CP) source/$(SYSTEM)/original/services.isc source/interbase
-$(CP) source/$(SYSTEM)/sys.conf.isc source/interbase
mkdir -p source/interbase/misc
$(CP) firebird/skywalker/install/misc/firebird.init.d.* source/interbase/misc
#install: force
# make -f firebird/skywalker/install/Makefile install
runclassicinstall: force
make -f firebird/skywalker/install/Makefile runclassicinstall
classicpackages: force
make -f firebird/skywalker/install/Makefile classicpackages
classictarfile: force
make -f firebird/skywalker/install/Makefile classictarfile
classicrpmfile: force
make -f firebird/skywalker/install/Makefile classicrpmfile
superpackages: force
make -f firebird/skywalker/install/Makefile superpackages
supertarfile: force
make -f firebird/skywalker/install/Makefile supertarfile
superrpmfile: force
make -f firebird/skywalker/install/Makefile superrpmfile

View File

@ -0,0 +1,117 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.gpre,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=../..
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
@SET_MAKE@
GPRECommon_Sources = cmd.cpp cme.cpp cmp.cpp c_cxx.cpp exp.cpp gpre.cpp \
hsh.cpp int.cpp int_cxx.cpp jrdmet.cpp movg.cpp msc.cpp par.cpp \
pat.cpp pretty.cpp sqe.cpp sql.cpp cob.cpp noform.cpp
GPREBoot_Sources= gpre_meta_boot.cpp ../common/fb_exception.cpp
GPRE_Sources= gpre_meta.cpp
GPRECommon_Objects = $(GPRECommon_Sources:%.cpp=$(OBJ)/%.o)
GPREBoot_Objects = $(GPREBoot_Sources:%.cpp=$(OBJ)/%.o)
GPRE_Objects = $(GPRE_Sources:%.cpp=$(OBJ)/%.o)
AllObjects = $(GPRECommon_Objects) $(GPREBoot_Objects) $(GPRE_Objects) \
$(GPRELIB_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gpre_boot gpre_static gpre
# As we build each of the gpre targets we change the link in $(GPRE_CURRENT)
# to point to the latest one, that way the .epp.cpp rule is kept simple
# and we always end up using the correct one at each bootstrap stage.
gpre_boot : $(GPRE_BOOT)
gpre_static : $(GPRE_STATIC)
gpre : $(GPRE)
$(GPRE_BOOT): $(GPRECommon_Objects) $(GPREBoot_Objects) $(LIB)/jrd_boot.a $(LIB)/fbutil_boot.a $(LIB)/fbmem_boot.a
$(STATICEXE_LINK) -o $(GPRE_BOOT) $^ $(STATICLINK_LIBS)
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
$(GPRE_STATIC):$(GPRECommon_Objects) $(GPRE_Objects) $(BOOT_GDSLIB_Objects)
$(STATICEXE_LINK) $(LINK_OPTS) $^ -o $@ $(STATICLINK_LIBS)
$(CHMOD_7) $@
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
$(GPRE):$(GPRECommon_Objects) $(GPRE_Objects) $(LIBGDS_DEP)
$(EXE_LINK) $(LINK_OPTS) $(LIBGDS_LINK) $^ -o $@ $(LINK_LIBS)
$(CHMOD_7) $@
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
# gpre_meta needs a special boot build since there is no database.
$(SRC)/gpre_meta.cpp: $(SRC)/gpre_meta.epp
$(GPRE_BOOT) -lang_internal $(GPRE_FLAGS) $< $@
# In phase2 we add the same objects as before, we just rebuild them as
# portable and load them into a shared libgds.so library.
.PHONY: jrdlib_dependencies
jrdlib_dependencies: $(GPRELIB_Objects)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,65 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.inet_server,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=inet_server
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
SERVER_Files = inet_server.cpp server.cpp
SERVER_Sources = $(addprefix remote/, $(SERVER_Files))
SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SERVER_Sources))))
AllObjects = $(SERVER_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: fb_inet_server
fb_inet_server : $(BIN)/fb_inet_server
$(BIN)/fb_inet_server: $(SERVER_Objects) $(LIBFBEMBED_SO)
$(CC) $(LINK_OPTS) $(SERVER_Objects) -o $@ -L $(LIB) -lfbembed $(LINK_LIBS)
# $(CHMOD_S7) $@
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,113 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.install,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=../..
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
FirebirdInstallPrefix=@prefix@
@SET_MAKE@
FIREBIRD=$(FirebirdInstallPrefix)
export -n FIREBIRD
export -n INTERBASE
.PHONY: all CSrpmscript SSrpmscript ssinstall runclassicinstall \
classicpackages
# Some of these targets are run from the root tree of the build.
# those need to know where the install subdirectory is kept.
# Others are run locally these need to know the path back to the
# root of the build tree.
BuildRoot=$(GEN_ROOT)
InstallRoot=.
FirebirdBuildPrefix=$(GEN_ROOT)
#export FirebirdBuildPrefix
#export FirebirdInstallPrefix
#export PackageVersion
# This means something like: FirebirdCS-2.0.0-1.i386.tar.gz
TarFile=Firebird$(ArchPrefix)-$(FirebirdVersion)-$(PackageVersion).$(CpuType).tar.gz
PkgSrcDir=$(InstallRoot)/$(ArchType)
LastInstallFlg=.lastinstallflg
install: runinstall
dist : packages
runinstall: $(LastInstallFlg)
$(LastInstallFlg) : $(BIN)/gsec
(cd $(GEN_ROOT)/install; ./install.sh)
# (cd $(ROOT); sh $(InstallRoot)/classic/CSTarInstall.sh)
# touch $(LastInstallFlg)
packages: tarfile
tarfile: $(TarFile)
$(TarFile) : buildInstallDir
(cd $(GEN_ROOT); tar -czf $(TarFile) install)
TarInstallDir=$(GEN_ROOT)/install
buildInstallDir:
# (cd $(BuildRoot); tar -czf - interbase ) | cat > $(CSTarInstallDir)/interbase.tar.gz
(cd $(GEN_ROOT); tar -czf install/firebird.tar.gz firebird)

View File

@ -0,0 +1,91 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.intl,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=intl
CFLAGS:=-DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
INTL_Files1= ld.c cv_narrow.c \
cs_narrow.c lc_ascii.c lc_narrow.c lc_latin1.c lc_dos.c \
cs_unicode.c lc_unicode.c \
cs_utffss.c \
cs_big5.c cv_big5.c lc_big5.c \
cs_gb2312.c cv_gb2312.c lc_gb2312.c \
cs_jis.c cv_jis.c lc_jis.c \
cs_ksc.c cv_ksc.c lc_ksc.c
# This one is the example stub for another module (I think) MOD 30-July-2002
INTL_Files2= ld2.c
INTL_Files = $(INTL_Files1)
INTL_Sources = $(addprefix intl/, $(INTL_Files))
INTL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(INTL_Sources))))
AllObjects = $(INTL_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all libfbintl
all : libfbintl
# In the following the rpath variable probably wants to be different
# if it's going to be installed in fb specific path.
# Also the dynamic link process used in fb, will fall over if it finds
# links etc in the intl directory MOD 28-July-2002
libfbintl : $(LIBFBINTL_SO)
$(LIBFBINTL_SO): $(INTL_Objects)
$(LIB_LINK) -Wl,-soname,libintl.so.1 -Wl,-rpath,/usr/lib -o $@ $^
# -$(LN) $(@F) $(LIBFBINTL_SOBASENAME)
# -$(LN) $(notdir $(LIBFBINTL_SOBASENAME)) $(LIBFBINTL_SONAME)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,804 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.jrd,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=../..
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
@SET_MAKE@
# jrd has it's own rule for using gpre to use gpre boot.
# I would eventually like to set these based on a determination
# if the file GPRE_STATIC exists or not.
GPRE_FLAGS = -n -z -gds_cxx -raw -ids
#.e.c:
# $(GPRE_BOOT) $(GPRE_FLAGS) $< $@
#
#.epp.cpp:
# $(GPRE_BOOT) $(GPRE_FLAGS) $< $@
.PHONY: jrd_boot
# This is the very first library built it contains just enough methods
# to enable a gpre_boot program to built.
BOOT_Sources = dsc.cpp gds.cpp isc_ipc.cpp isc.cpp dls.cpp
BOOT_Objects = $(BOOT_Sources:%.cpp=$(OBJ)/%.o)
jrd_boot : $(LIB)/jrd_boot.a
$(LIB)/jrd_boot.a: $(BOOT_Objects)
-$(RM) $@
$(AR) $@ $^
-$(RANLIB) $@
$(CHMOD_6) $@
# Add all the jrd objects to the jrd static library.
$(LIBGDS_A) : $(GDSLIB_Objects)
ar -q $@ $^
-$(RANLIB) $@
# This is the first dynamic link library that we build in phase2 it still
# does not contain security objects. Also used to produce the object files
# that the *_static programs link against.
jrdlib_dependencies: $(JRD_Objects) $(OS_SPECIFIC_Objects)
# The jrdlib_main will equate to either the libgds.so or libgds.a
# depending upon choices made in make.rules and prefix.xxx where
# xxx is plaform.
jrdlib_main : $(LIBGDS_LA)
#jrdlib_main : $(LIBGDS_SO) $(LIBGDS_A)
$(LIBGDS_SO) : $(GDSLIB_Objects)
$(LIB_LINK) $(LIBGDS_LINK_OPTIONS) -o $@ $^
-$(LN) $(@F) $(LIBGDS_SO_X_LNK)
-$(LN) $(notdir $(LIBGDS_SO_X_LNK)) $(LIBGDS_SO_LNK)
$(LIBGDS_A) : $(GDSLIB_Objects)
$(STATICLIB_LINK) $(LIBGDS_LINK_OPTIONS) $@ $^
#____________________________________________________________________________
#
# Everything below here is crap - well maybe that's an overstatement :-).
# It comes from the original sfx.jrd file and I've left it here for now
# for reference until I finish rewriting the super server make.
CSI_FILES= $(OBJS)/csv/csi.o $(OBJS)/csv/css.o
CSI_P_FILES= $(OBJS)/csv/csi.bin $(OBJS)/csv/css.bin
DSQL_HEAD_MISC= $(OBJS)/dsql/array.o $(OBJS)/dsql/blob.o \
$(OBJS)/dsql/preparse.o \
$(OBJS)/dsql/user_dsql.o $(OBJS)/dsql/utld.o
DSQL_J_HEAD_MISC= source/dsql/array.j source/dsql/blob.j \
source/dsql/preparse.j \
source/dsql/user_dsql.j source/dsql/utld.j
JRD_CLIENT_P_OBJECTS= alt.bin cvt.bin dsc.bin dls.bin enc.bin gds.bin \
isc.bin isc_file.bin isc_ipc.bin isc_sync.bin \
perf.bin sch.bin sdl.bin thd.bin utl.bin \
why.bin
# The infamous codes files
CODES_FILES= $(OBJS)/firebird/include/gds_codes.pas \
$(OBJS)/firebird/include/gds_codes.ftn \
$(OBJS)/firebird/include/codes.h \
$(OBJS)/firebird/include/iberror.h \
$(OBJS)/firebird/include/codetext.h \
$(OBJS)/firebird/include/msgs.h \
$(OBJS)/firebird/include/rdb_codes.h \
$(OBJS)/firebird/include/sql_code.h \
$(OBJS)/firebird/include/msg_facs.h
# Temporarily removing $(BACKEND_BRIDGE_MISC) from SUPER_OBJECTS
# Also, whatever SUPER_OBJECTS includes should be forced to build under
# the 'super_server_objects' target. Currently DSQL, LOCK, REMOTE,
# WAL are included. INTL is not needed.
SUPER_OBJECTS= $(DSQL_MISC) $(LOCK_MISC) \
$(REMOTE_MISC) \
$(INTL_MISC) $(WAL_MISC) $(ALICE_MISC) $(BURP_MISC) \
$(SECURITY_MISC) $(GSTAT_MISC) $(GSEC_MISC) $(UTIL_MISC) \
$(STDIO)
HEAD_OBJECTS= $(OBJS)/pipe/head.o $(OBJS)/pipe/head5.o $(OBJS)/pipe/allp.o \
whyp.o utlp.o dls.o enc.o \
$(JRD_MISC) $(JRD_HEAD_MISC) $(DSQL_HEAD_MISC) \
$(PYXIS_MISC_OBJS) $(MERGE_MISC) $(SECURITY_MISC)
HEAD_J_OBJECTS= head.j head5.j allp.j whyp.j utlp.j \
$(JRD_J_MISC) $(JRD_J_HEAD_MISC) $(DSQL_J_HEAD_MISC) \
$(MERGE_J_MISC)
BRIDGE_P_MISC= $(OBJS)/pipe/head5.bin $(OBJS)/pipe/allp.bin
FOOT_OBJECTS= $(FOOT_OBJECT) $(ALLP_OBJECT)
ALLP_OBJECT= $(OBJS)/pipe/allp.o
FOOT_OBJECT= $(OBJS)/pipe/foot.o
# All objects necessary to have a minimal (but functional) engine statically
# linked an executable. Used to create gbak_static and gpre_static, amoung
# other things.
ENGINE_STATIC_OBJS= \
$(JRD_OBJECTS) $(DSQL_MISC) \
$(LOCK_MISC) $(REMOTE_MISC) $(BRIDGE_MISC) \
$(INTL_MISC) $(WAL_MISC) \
$(WHY_O)
all: gds.h $(GDSSHR) $(PIPE)
gds_b.a source/./interbase/lib/gds_b.a $(GDSLIB_BACKEND): \
$(WHYBK_O) $(JRD_OBJECTS) $(OTHER_OBJECTS)
-$(RM) gds_b.a
$(AR) gds_b.a $(WHYBK_O) $(JRD_OBJECTS) $(OTHER_OBJECTS)
-ranlib gds_b.a
$(CHMOD_6) gds_b.a
gds_ss.a source/./interbase/lib/gds_ss.a $(SUPER_BACKEND): \
gds.h $(WHYBK_O) $(JRD_OBJECTS) super_server_objects $(SUPER_OBJECTS)
-$(RM) gds_ss.a
$(AR) gds_ss.a $(WHYBK_O) $(JRD_OBJECTS) $(SUPER_OBJECTS)
-ranlib gds_ss.a
$(CHMOD_6) gds_ss.a
gds_b.lib: $(WHYBK_O) $(JRD_OBJECTS)
-$(RM) gds_b.lib
$(IMPLIB) -out:gds_b.lib $(WHYBK_O) $(JRD_OBJECTS)
$(IMPLIB) -out:gds_b.lib gds_b.lib $(OTHER_OBJECTS)
$(TOUCH) gds_b.lib
gdsshr.a $(AIX_GDSSHR) $(AIX_PPC_GDSSHR): gds_b.a gds.bind
ld -bE:gds.bind -bM:SRE -H1024 $(GDSLIB_LINK) $(SCREEN_LIB) -lc -o gdsshr.o
strip -t gdsshr.o
-$(RM) gdsshr.a
$(AR) gdsshr.a gdsshr.o
-ranlib gdsshr.a
$(CHMOD_6) gdsshr.a
$(MV) gdsshr.a $(GDSSHR)
-$(RM) gdsshr.o
$(TOUCH) gdsshr.a
$(CHMOD_6) gdsshr.a
gdslib $(AP_GDSSHR) $(AX_GDSSHR): gds_b.a bind_gdslib nodebug.o
-$(RM) gdslib
/com/bind <bind_gdslib
$(CHMOD_7) gdslib
$(MV) gdslib $(GDSSHR)
$(TOUCH) gdslib
$(CHMOD_6) gdslib
bridge.apollo: gdslib
-$(RM) bridge5
/com/bind <bind_bridge
$(CHMOD_7) bridge5
gds.sl $(HP_GDSSHR): $(JRD_P_OBJECTS) flu.bin $(DSQL_P_MISC) $(LOCK_P_MISC) \
$(PYXIS_P_MISC_OBJS) \
$(REMOTE_P_MISC) $(WAL_P_MISC) \
$(HM300_BRIDGE_P_MISC) $(SECURITY_P_MISC) functions.bin gds.bind
-$(RM) gds.sl
ld -b $(LD_OPTS) $(JRD_P_OBJECTS) flu.bin $(DSQL_P_MISC) \
$(LOCK_P_MISC) $(PYXIS_P_MISC_OBJS) $(REMOTE_P_MISC) \
$(WAL_P_MISC) $(HM300_BRIDGE_P_MISC) \
$(SECURITY_P_MISC) functions.bin -o gds.sl
$(CHMOD_7) gds.sl
$(MV) gds.sl $(GDSSHR)
$(TOUCH) gds.sl
$(CHMOD_6) gds.sl
# IMPORTANT!!!! - New v4 routines should NOT be added to the bridge targets
# These targets are provided to create the v3 bridge
# access method by making these targets on a V3 tree.
bridge.shared_o: $(GDSSHR)
-$(RM) bridge5
ld $(BLD_OPTS) all.o blb.o blob_filter.o btr.o cch.o cmp.o \
cvt.o dpm.o dyn.o dyn_def.o dyn_del.o \
dyn_mod.o dyn_util.o enc.o err.o event.o \
evl.o exe.o ext.o filters.o fun.o gds.o grant.o \
idx.o inf.o ini.o intl.o iscb.o isc_file.o \
jrd.o jrn.o lck.o log.o met.o mov.o nav.o \
opt.o pag.o par.o perf.o pwd.o rse.o \
sbm.o scl.o sdl.o sdw.o sort.o sqz.o sym.o \
tra.o unix.o val.o vio.o flu.o functions.o \
nodebug.o $(OBJS)/lock/lock.o $(OBJS)/dsql/all.o \
$(OBJS)/dsql/ddl.o $(OBJS)/dsql/dsql.o $(OBJS)/dsql/err.o \
$(OBJS)/dsql/gen.o $(OBJS)/dsql/hsh.o $(OBJS)/dsql/make.o \
$(OBJS)/dsql/met.o $(OBJS)/dsql/mov.o $(OBJS)/dsql/parse.o \
$(OBJS)/dsql/pass1.o $(BsLsD_LIBS) -o bridge5
$(CHMOD_7) bridge5
bridge.shared_bin: $(GDSSHR)
-$(RM) bridge5
ld $(BLD_OPTS) all.bin blb.bin blob_filter.bin btr.bin cch.bin cmp.bin \
cvt.bin dpm.bin dyn.bin dyn_def.bin dyn_del.bin \
dyn_mod.bin dyn_util.bin enc.bin err.bin event.bin \
evl.bin exe.bin ext.bin filters.bin fun.bin gds.bin grant.bin \
idx.bin inf.bin ini.bin intl.bin iscb.bin isc_file.bin \
jrd.bin jrn.bin lck.bin log.bin met.bin mov.bin nav.bin \
opt.bin pag.bin par.bin perf.bin pwd.bin rse.bin \
sbm.bin scl.bin sdl.bin sdw.bin sort.bin sqz.bin sym.bin \
tra.bin unix.bin val.bin vio.bin flu.bin functions.bin \
nodebug.bin $(OBJS)/lock/lock.bin $(OBJS)/dsql/all.bin \
$(OBJS)/dsql/ddl.bin $(OBJS)/dsql/dsql.bin $(OBJS)/dsql/err.bin \
$(OBJS)/dsql/gen.bin $(OBJS)/dsql/hsh.bin $(OBJS)/dsql/make.bin \
$(OBJS)/dsql/met.bin $(OBJS)/dsql/mov.bin $(OBJS)/dsql/parse.bin \
$(OBJS)/dsql/pass1.bin $(BLD_LIBS) -o bridge5
$(CHMOD_7) bridge5
gds_s.a $(IMP_GDSSHR) $(SCO_GDSSHR): \
$(JRD_P_OBJECTS) flu.bin $(IMP_FUNCSHR) \
$(SCO_FUNCSHR) $(DSQL_P_MISC) \
$(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) gds_s.bind
-$(RM) gds_s.a source/interbase/lib/gds_s
mkshlib -q -s gds_s.bind -h gds_s.a -t $(GDSSHR)
$(CHMOD_7) source/interbase/lib/gds_s
$(CHMOD_6) gds_s.a
$(MV) gds_s.a source/interbase/lib/gds_s.a
$(TOUCH) gds_s.a
$(CHMOD_6) gds_s.a
gdsf_s.a $(IMP_FUNCSHR) $(SCO_FUNCSHR): functions.bin \
shrfinit.bin gdsf_s.bind
-$(RM) gdsf_s.a source/interbase/lib/gdsf_s
mkshlib -s gdsf_s.bind -h gdsf_s.a -t $(FUNCSHR)
$(CHMOD_7) source/interbase/lib/gdsf_s
$(CHMOD_6) gdsf_s.a
$(MV) gdsf_s.a source/interbase/lib/gdsf_s.a
$(TOUCH) gdsf_s.a
$(CHMOD_6) gdsf_s.a
gdslib.so.1.0 $(SUN_GDSSHR): $(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) \
$(DSQL_P_MISC) $(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) \
$(BRIDGE_P_MISC) $(WAL_P_MISC) functions.bin gdslib.so.0.1
-$(RM) gdslib.so.1.0
ld -assert pure-text $(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) \
$(DSQL_P_MISC) $(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) \
$(BRIDGE_P_MISC) $(WAL_P_MISC) functions.bin -o gdslib.so.1.0
$(CHMOD_6) gdslib.so.1.0
$(MV) gdslib.so.1.0 $(GDSSHR)
$(TOUCH) gdslib.so.1.0
$(CHMOD_6) gdslib.so.1.0
# If you really need this and can't do this via a define of NON_DL_COMPATIBLE
# when building flu.cpp then this should work.
#JRD_P_OBJECTS := $(subst flu.bin, flu_non_dl.bin, $JRD_P_OBJECTS)
#gdslib.so.0.1: $(JRD_P_OBJECTS) flu_non_dl.bin $(CSI_P_MISC) $(DSQL_P_MISC) \
# $(LOCK_P_MISC) $(REMOTE_P_MISC) $(BRIDGE_P_MISC) $(WAL_P_MISC) \
# $(SECURITY_P_MISC) \
# gdsflib.so.0.0
# -$(RM) gdslib.so.0.1
# ld -assert pure-text $(JRD_P_OBJECTS) flu_non_dl.bin $(CSI_P_MISC) \
# $(DSQL_P_MISC) $(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) \
# $(BRIDGE_P_MISC) $(WAL_P_MISC) -lgdsflib -o gdslib.so.0.1
# $(CHMOD_6) gdslib.so.0.1
# $(MV) gdslib.so.0.1 source/interbase/lib
# $(TOUCH) gdslib.so.0.1
# $(CHMOD_6) gdslib.so.0.1
gdsflib.so.0.0 $(SUN_FUNCSHR): functions.bin
-$(RM) gdsflib.so.0.0
ld -assert pure-text functions.bin -o gdsflib.so.0.0
$(CHMOD_6) gdsflib.so.0.0
$(MV) gdsflib.so.0.0 $(SUN_FUNCSHR)
$(TOUCH) gdsflib.so.0.0
$(CHMOD_6) gdsflib.so.0.0
gds.so.o $(SGI_GDSSHR) $(DECOSF_GDSSHR) : \
$(WHY_O) $(JRD_OBJECTS) $(DSQL_MISC) $(LOCK_MISC) \
$(REMOTE_MISC) $(BRIDGE_MISC) \
$(INTL_MISC) $(WAL_MISC) $(FUNCTIONS) $(SECURITY_MISC)
-$(RM) gds.so.o
ld $(LD_OPTS) libgds.so.0 $(ZDEFS) $(WHY_O) $(JRD_OBJECTS) \
$(DSQL_MISC) $(LOCK_MISC) $(REMOTE_MISC) $(BRIDGE_MISC) \
$(INTL_MISC) $(WAL_MISC) $(FUNCTIONS) $(SECURITY_MISC) \
$(GDSF_LIB) $(LD_LIBS) -o gds.so.0
$(CHMOD_6) gds.so.0
$(MV) gds.so.0 $(GDSSHR)
$(TOUCH) gds.so.o
$(CHMOD_6) gds.so.o
# For SCO_EV and LINUX the FUNCTIONS is part of JRD_OBJECTS.
gds.so.O $(SCO_EV_GDSSHR): \
$(WHY_O) $(JRD_OBJECTS) $(DSQL_MISC) $(LOCK_MISC) \
$(REMOTE_MISC) $(BRIDGE_MISC) \
$(INTL_MISC) $(WAL_MISC) $(SECURITY_MISC)
-$(RM) gds.so.O
ld $(LD_OPTS) libgds.so.0 $(ZDEFS) $(WHY_O) $(JRD_OBJECTS) \
$(DSQL_MISC) $(LOCK_MISC) $(REMOTE_MISC) $(BRIDGE_MISC) \
$(INTL_MISC) $(WAL_MISC) $(SECURITY_MISC) \
$(GDSF_LIB) $(LD_LIBS) -o gds.so.0
$(CHMOD_6) gds.so.0
$(MV) gds.so.0 $(GDSSHR)
$(TOUCH) gds.so.O
$(CHMOD_6) gds.so.O
libgds.so gds.so.linux: \
$(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) $(DSQL_P_MISC) \
$(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) \
$(FUNCTIONS)
-$(RM) gds.so
ld $(LD_OPTS) $(ZDEFS) $(JRD_P_OBJECTS) flu.bin \
$(CSI_P_MISC) $(DSQL_P_MISC) $(LOCK_P_MISC) \
$(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) $(INTL_P_MISC) \
$(WAL_P_MISC) $(FUNCTIONS) $(GDSF_LIB) \
$(LD_LIBS) -o libgds.so
$(CHMOD_6) libgds.so
$(MV) libgds.so $(GDSSHR_DEST)
$(TOUCH) libgds.so
$(CHMOD_6) libgds.so
gds.so.0 $(DG_GDSSHR) $(DG_X86_GDSSHR) $(UNIXWARE_GDSSHR) $(NCR3000_GDSSHR): \
$(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) $(DSQL_P_MISC) \
$(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) \
$(FUNCTIONS)
-$(RM) gds.so.0
ld $(LD_OPTS) libgds.so.0 $(ZDEFS) $(JRD_P_OBJECTS) flu.bin \
$(CSI_P_MISC) $(DSQL_P_MISC) $(LOCK_P_MISC) \
$(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) $(INTL_P_MISC) \
$(WAL_P_MISC) $(FUNCTIONS) $(GDSF_LIB) \
$(LD_LIBS) -o gds.so.0
$(CHMOD_6) gds.so.0
$(MV) gds.so.0 $(GDSSHR)
$(TOUCH) gds.so.0
$(CHMOD_6) gds.so.0
# For the Darwin port
gds.dylib: $(DO_FORCE) \
$(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) $(DSQL_P_MISC) \
$(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) \
$(FUNCTIONS) $(PYXIS_P_OBJECTS) $(PYXIS_P_MISC)
-$(RM) gds.dylib
libtool -dynamic -o gds.dylib -current_version $(FW_VERS) \
-compatibility_version $(FW_COMPAT_VERS) \
-install_name $(FW_NAME)/Versions/A/$(FBFW_PREFIX) \
$(ZDEFS) $(JRD_P_OBJECTS) flu.bin \
$(CSI_P_MISC) $(DSQL_P_MISC) $(LOCK_P_MISC) \
$(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) $(INTL_P_MISC) \
$(WAL_P_MISC) $(FUNCTIONS) $(GDSF_LIB) \
$(PYXIS_P_OBJECTS) $(PYXIS_P_MISC) \
$(LD_LIBS) -framework System -framework CoreFoundation
$(CHMOD_6) gds.dylib
$(MV) gds.dylib $(GDSSHR_DEST)
$(TOUCH) gds.dylib
$(CHMOD_6) gds.dylib
# Solaris has two Shared libraries - the traditional style one
# is called gdsmt.so.0, as it requires v3.3 -> v4.0 customers
# to recompile and relink.
# In v4.0 we add a "gds.so.0" library which is really a pipe
# client library. This is so existing 3.3 customers are
# isolated from Solaris problems involving threads & signals.
gds.so.solaris $(SOL_GDSSHR): gdsmt.so.0 gdspipe.so.0
gdsmt.so.0: \
$(JRD_P_OBJECTS) flu.bin $(CSI_P_MISC) $(DSQL_P_MISC) \
$(LOCK_P_MISC) \
$(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) \
$(FUNCTIONS)
-$(RM) gdsmt.so.0
ld $(LD_OPTS) libgdsmt.so.0 $(ZDEFS) $(JRD_P_OBJECTS) flu.bin \
$(CSI_P_MISC) $(DSQL_P_MISC) $(LOCK_P_MISC) \
$(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \
$(INTL_P_MISC) $(WAL_P_MISC) $(FUNCTIONS) \
$(GDSF_LIB) $(LD_LIBS) -o gdsmt.so.0
$(CHMOD_6) gdsmt.so.0
$(MV) gdsmt.so.0 $(GDSSHR)
$(TOUCH) gdsmt.so.0
$(CHMOD_6) gdsmt.so.0
gdsf.so $(DG_FUNCSHR) $(DG_X86_FUNCSHR): functions.bin
-$(RM) gdsf.so
ld -G functions.bin -o gdsf.so
$(CHMOD_6) gdsf.so
$(MV) gdsf.so $(FUNCSHR)
$(TOUCH) gdsf.so
$(CHMOD_6) gdsf.so
gdsshr_ss.dll: $(WIN_NT_SS_GDSSHR)
$(TOUCH) gdsshr_ss.dll
gdsshr.dll: $(WIN_NT_GDSSHR)
$(TOUCH) gdsshr.dll
gds32_nt_ms.dll: $(WHY_O) $(JRD_OBJECTS) gdsalias.o
-$(RM) gds32.dll gds32.lib
$(IMPLIB) -out:gds_temp.lib $(WHY_O) $(JRD_OBJECTS)
$(IMPLIB) -out:gds_temp.lib gds_temp.lib $(DSQL_MISC) $(LOCK_MISC) $(REMOTE_MISC) $(WAL_MISC) \
$(SECURITY_MISC)
$(IMPLIB) -out:gds32.lib -def:gds.bind gds_temp.lib
$(LINK) $(LD_OPTS) -out:gds32.dll -dll -entry:_CRT_INIT$(DLLENTRY) gds_temp.lib gds32.exp $(CONLIBSDLL) $(WSOCKLIB) $(ADVAPILIB) $(MPRLIB)
$(RM) gds_temp.lib
$(RM) gds32.exp
$(MV) gds32.lib gds32_ms.lib
$(RM) gds32.lib
implib gds32.lib gds32.dll
tlib gds32.lib +- gdsalias.o
$(MV) gds32.lib source\interbase\lib
$(MV) gds32_ms.lib source\interbase\lib
$(MV) gds32.dll source/interbase/bin
$(RM) gds32.dll gds32.lib gds32_ms.lib
$(TOUCH) gds32_nt_ms.dll
gds32_nt_ms_ss.dll: $(WHY_O) $(JRD_OBJECTS) gdsalias.o
-$(RM) gds32_ss.dll gds32_ss.lib gds32mss.lib
$(IMPLIB) -out:gds_temp_ss.lib $(WHY_O) $(JRD_OBJECTS)
$(IMPLIB) -out:gds_temp_ss.lib gds_temp_ss.lib $(DSQL_MISC) $(LOCK_MISC) $(REMOTE_MISC) $(WAL_MISC) \
$(SECURITY_MISC)
$(IMPLIB) -out:gds32_ss.lib -def:gds.bind gds_temp_ss.lib
$(LINK) $(LD_OPTS) -out:gds32_ss.dll -dll -entry:_CRT_INIT$(DLLENTRY) gds_temp_ss.lib gds32_ss.exp $(CONLIBSDLL) $(WSOCKLIB) $(ADVAPILIB) $(MPRLIB)
$(RM) gds_temp_ss.lib
$(RM) gds32_ss.exp
$(MV) gds32_ss.lib gds32mss.lib
$(RM) gds32_ss.lib
implib gds32_ss.lib gds32_ss.dll
tlib gds32_ss.lib +- gdsalias.o
$(MV) gds32_ss.dll source/interbase/bin
$(RM) gds32.dll
$(TOUCH) gds32_nt_ms_ss.dll
gdsalias.o: gdsalias.asm
tasm32 gdsalias.asm
gds32_nt_bc4.dll: $(WHY_O) $(JRD_OBJECTS)
-$(RM) gds32.dll gds32.lib tmp.bind
sed -e 's/DATA READ WRITE/DATA MULTIPLE/' -e 's/LIBRARY gds32/LIBRARY gds32 INITINSTANCE/' gds.bind > tmp.bind
$(LINK) -Tpd -ap -c $(LD_OPTS) -w-inq -x /Lc:\bc4\lib c0d32 @gds.rsp,gds32.dll,,import32 cw32mt,tmp.bind
implib gds32.lib gds32.dll
$(MV) gds32.lib source\interbase\lib
$(MV) gds32.dll source/interbase/bin
$(RM) gds32.dll gds32.lib tmp.bind
$(TOUCH) gds32_nt_bc4.dll
gds32_os2_bc4.dll: $(WHY_O) $(JRD_OBJECTS)
-$(RM) gds32.dll gds32.lib tmp.bind
sed -e 's/DATA READ WRITE/DATA MULTIPLE NONSHARED/' -e 's/LIBRARY gds32/LIBRARY gds32 INITINSTANCE/' -e 's/\ \ \ \ /\ \ \ \ _/' gds.bind > tmp.bind
$(LINK) -Tod -ap -c $(LD_OPTS) -x /Lc:\bcos2\lib;c:\tcpip\lib c02d @gds.rsp,gds32.dll,,os2 c2mt so32dll tcp32dll,tmp.bind
implib gds32.lib gds32.dll
$(MV) gds32.lib ..\interbase\lib
$(MV) gds32.dll ..\interbase\bin
$(RM) gds32.dll gds32.lib tmp.bind
$(TOUCH) gds32_os2_bc4.dll
gds32_os2_ibm.dll: $(WHY_O) $(JRD_OBJECTS)
-$(RM) gds32.dll gds32.lib bind.tmp
sed -e 's/DATA READ WRITE/DATA MULTIPLE NONSHARED/' -e 's/LIBRARY gds32/LIBRARY gds32 INITINSTANCE/' gds.bind > bind.tmp
$(LINK) $(LD_OPTS) @gds.rsp,gds32.dll,,so32dll tcp32dll,bind.tmp
c:\toolkt21\os2bin\implib gds32.lib gds32.dll
$(MV) gds32.lib ..\interbase\lib
$(MV) gds32.dll ..\interbase\bin
$(RM) gds32.dll gds32.lib bind.tmp
$(TOUCH) gds32_os2_ibm.dll
event_print: print.o $(GDSLIB_BACKEND)
$(CC) $(LINK_OPTS) -g print.o -o event_print $(GDSLIB_LINK)
event_print.exe: print.o
$(CC) $(DEBUG_LINK_OPTS) $(O_EXE_SWITCH)event_print print.o $(GDSLIB_LINK)
gds.a: $(HEAD_OBJECTS) $(NOLINK_MACHINES)
-$(RM) gds.a
$(AR) gds.a $(HEAD_OBJECTS)
-ranlib gds.a
$(CHMOD_6) gds.a
$(MV) gds.a $(HEAD_LIB)
$(TOUCH) gds.a
$(CHMOD_6) gds.a
# Solaris specific shared library that invokes a pipe-server interface
# to isolate clients that might use signals from threads.
# Note that its internal library name is libgds.so for compatibility
# with existing applications.
gdspipe.so.0: $(HEAD_J_OBJECTS)
-$(RM) gdspipe.so.0
-$(RM) gds.so.0
ld $(LD_OPTS) libgds.so.0 $(HEAD_J_OBJECTS) $(LD_LIBS_J) \
-o gds.so.0
$(CHMOD_6) gds.so.0
$(MV) gds.so.0 $(PIPE_GDSSHR)
$(TOUCH) gdspipe.so.0
$(CHMOD_6) gdspipe.so.0
# The Solaris version of gds.a uses the .j objects as they have
# been compiled in non-Thread mode. The .j objects are PIC code
# which isn't optimal, but will function fine.
gds.a.solaris: $(HEAD_J_OBJECTS)
-$(RM) gds.a.solaris
$(AR) gds.a $(HEAD_J_OBJECTS)
-ranlib gds.a
$(CHMOD_6) gds.a
$(MV) gds.a $(HEAD_LIB)
$(TOUCH) gds.a.solaris
$(CHMOD_6) gds.a.solaris
# JMB MERGE_MISC (merge.o) is already in the shlib with REMOTE_P_OBJECTS.
# allp.bin already in the shared library. ($(ALLP_OBJECT))
# So don't link in with executable.
gds_pipe: $(FOOT_OBJECTS) $(WHYPS_O) $(GDSSHR) \
$(GDSLIB_BACKEND) $(NOLINK_MACHINES)
-$(RM) gds_pipe gdsshr_pipe
$(CC) $(LINK_OPTS) $(FOOT_OBJECT) \
$(T_SWITCH) $(T_SWITCH) \
$(WHYPS_O) -o gds_pipe $(SERVER_LINK)
$(CHMOD_7) gds_pipe
$(MV) gds_pipe $(FOOT)
$(TOUCH) gds_pipe
$(CHMOD_6) gds_pipe
bridge.unix: gds_pipe
-$(RM) gds_pipe5
$(CC) $(LINK_OPTS) $(FOOT_OBJECTS) -o gds_pipe5 $(GDSLIB_LINK)
$(CHMOD_7) gds_pipe5
gds_pipe.a: $(FOOT_OBJECTS) $(NOLINK_MACHINES)
-$(RM) gds_pipe.a
$(AR) gds_pipe.a $(FOOT_OBJECTS)
-ranlib gds_pipe.a
$(CHMOD_6) gds_pipe.a
$(MV) gds_pipe.a $(FOOT_LIB)
$(TOUCH) gds_pipe.a
$(CHMOD_6) gds_pipe.a
includes.msg: $(OBJS)/msgs/indicator.incl
-$(RM) includes.msg
$(TOUCH) includes.msg
$(CHMOD_6) includes.msg
super_server_objects: force
$(CD) $(OBJS)/dsql && $(MAKE) CFLAGS="$(CFLAGS)" SYSTEM="$(SYSTEM)" dsql_objects
$(CD) $(OBJS)/lock && $(MAKE) CFLAGS="$(CFLAGS)" SYSTEM="$(SYSTEM)" lock
$(CD) $(OBJS)/remote && $(MAKE) CFLAGS="$(CFLAGS)" SYSTEM="$(SYSTEM)" rem_objects
$(CD) $(OBJS)/wail && $(MAKE) CFLAGS="$(CFLAGS)" SYSTEM="$(SYSTEM)" wal_objects
super_client_objects: $(JRD_CLIENT_P_OBJECTS)
-$(RM) super_client_objects
$(TOUCH) super_client_objects
$(CHMOD_6) super_client_objects
debug_objects: grammar.o dbg.o dbt.o dmp.o
nolink_machines: source/pipe/allp.c source/pipe/foot.c source/pipe/head.c
$(CP) $? .
-$(RM) nolink_machines
$(TOUCH) nolink_machines
$(CHMOD_6) nolink_machines
run_codes: $(CODES_FILES)
# We should be compiling and running codes here, but we will do that
# later!!!
# -$(SH) '$(CMP) $(OBJS)/jrd/iberror.h $(OBJS)/firebird/include/iberror.h; if [ $$? != 0 ]; then $(CP) $(SOURCE)/jrd/iberror.h $(OBJS)/firebird/include/iberror.h; fi'
$(CODES_FILES):
touch $@
-$(CP) $(SOURCE)/jrd/gen/$(@F) $@
#____________________________________________________________________________
#
# Rebuild the codes generates in the src/jrd/boot_codes directory
# this target updates the values stored in the source path if they are
# different to the newly generated entries.
#
# There are also blrtable.h and ids.h which are generated as well.
# Regeneration is a manual thing, and you will need to
generated_headers: ensureRebuild rebuild_codes ../include/gen/blrtable.h ../include/gen/ids.h
ensureRebuild:
touch codes.epp
touch blrtable.cpp
touch relations.h
rebuild_codes: codes
./codes $(ROOT)/src/include/gen
codes: codes.o $(STDIO) $(LIBGDS_DEP)
-$(RM) codes
echo "Hello"
$(EXE_LINK) $(LINK_OPTS) $(LIBGDS_LINK) $(CXX_INCLUDE_DIRS) $^ -o $@ $(LINK_LIBS)
# $(EXE_LINK) $(LINK_OPTIONS) $(LIBGDS_LINK) $(CXX_INCLUDE_DIRS) -o codes $^
$(CHMOD_7) codes
../include/gen/blrtable.h: blrtable.cpp $(STDIO)
$(EXE_LINK) $(LINK_OPTIONS $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) $(LINK_OPTS) blrtable.cpp $(STDIO) $(LD_LIBS) -o blrtable
-./blrtable > $@
-$(RM) blrtable
../include/gen/ids.h: ids.m relations.h
m4 $< > ../include/gen/ids.h
# Security requires a database to compile so it cannot be used until
# after gpre_static and gbak have been built. The alt.cpp file has a
# -DPHASE_1_NO_SECURITY macro that disables compilaton of security
# components. So the early _boot and _static builds use the boot one and
# the later ones rely on the complete alt.o. This is controlled by the
# makefile building a different jrd/alt_use_sec.h at
# BTW: Ann (and I think Jim as well) believe that the security
# database has no business being applied at this level, and should be
# removed or moved - MOD 22-7-2001
# The file alt.cpp can be built in two versions BOOT and normal, where
# boot does not use the security database and the normal build does.
# We build a different header file from alt_use_sec.h.pre in the boot and
# the post boot stages of the build.
build_alt_use_boot: alt_use_sec.h.pre
sed '/^#undef PHASE_1_BUILD_NO_SECURITY_DB/s/undef/define/' < $^ > alt_use_sec.h
build_alt_use_main: alt_use_sec.h.pre
cp $^ alt_use_sec.h
# The GPRE options passed in ar edifferent to the default ones so we have a
# special rule.
# Some of these you have to wonderabout, since here are a number of files
# that use DATABASE FILENAME = 'ODS.RDB' but ODS.RDB does not exsit
# For that reason all the .epp files in this directory are compiled
# with the following options.
# fun.epp they allow you to compile without having a database present.
# The db file ODS.RDB (as used in fun.epp doesn't exist, and was not part
# of the original 6.0 build).
#blob_filter.cpp: blob_filter.epp
# $(GPRE_BOOT) -lang_internal -n -manual -raw -O $< $@
#$(SRC)/codes.cpp: $(SRC)/codes.epp
codes.cpp: $(SRC)/codes.epp msg.gdb
$(GPRE) -n -manual -raw -string $< $@
msg.gdb:
ln -fs $(SRC_ROOT)/refDatabases/msg.gdb msg.gdb
#$(SRC)/fun.cpp: $(SRC)/fun.epp
# $(GPRE) -n -gds -raw -ids $< $@
#____________________________________________________________________________
# These guys are the results of compiling files with different macros
# defined and outputting them to differently named .o files.
# BACKEND
whybk.o: why.c
$(CC) -c $(CFLAGS) $(VERSION_FLAG) -DBACKEND $< -o $@
# Special compiles of modules to omit parts not needed for pipe access
utlp.o: utl.cpp
$(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DPIPE_CLIENT $< -o $@
utlp.j: utl.o
$(CXX) -c $(PIC_J_CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DPIPE_CLIENT $< -o $@
whyp.o: why.c
$(CC) -c $(CFLAGS) $(VERSION_FLAG) -DPIPE_CLIENT $< -o $@
whyp.j: why.o
$(CC) -c $(PIC_J_CFLAGS) $(VERSION_FLAG) -DPIPE_CLIENT $< -o $@
# whyps.o is used for machines that have a gds_pipe executable with the
# full backend linked in. It omits an interface to the V3 bridge, which
# is included with the pipe client and not needed in the pipe server.
whyps.o: why.o
-$(RM) whyps.c
$(CP) why.c whyps.c
$(CC) -c $(CFLAGS) $(VERSION_FLAG) -DPIPE_SERVER_YVALUE whyps.c
# SHARED BRIDGE
iscb.o: isc.cpp
$(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DBRIDGE $< -o $@
iscb.bin: isc.cpp
$(CXX) -c $(PIC_FLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DBRIDGE $< -o $@
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
flu_non_dl.bin: flu.cpp
$(CXX) -c $(PIC_FLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DNON_DL_COMPATIBLE -c $< -o flu_non_dl.cpp
$(MV) flu_non_dl.o flu_non_dl.bin
-$(RM) flu_non_dl.cpp
head5.bin: head.cpp
$(CXX) -c $(PIC_FLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DGDS_PIPE=\"bin/gds_pipe5\" $< -o $@
AllObjects = $(BOOT_Objects) $(JRD_Objects) $(OS_SPECIFIC_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,135 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.libfbclient,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbclient
CFLAGS:=-DSUPERCLIENT
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
# These are deliberatly unexported otherwise gbak and others will try and check
# the userid against the isc4.gdb database, which doesn't exist at this stage
# in the build. MOD 11-July-2002
unexport ISC_USER
unexport ISC_PASSWORD
# jrd has it's own rule for using gpre to use gpre boot.
# I would eventually like to set these based on a determination
# if the file GPRE_STATIC exists or not.
JRD_ClientSources = $(addprefix jrd/, $(JRD_ClientFiles))
JRD_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(JRD_ClientSources))))
DSQL_ClientSources = $(addprefix dsql/, $(DSQL_ClientFiles))
DSQL_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DSQL_ClientSources))))
REMOTE_ClientSources = $(addprefix remote/, $(REMOTE_ClientFiles))
REMOTE_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(REMOTE_ClientSources))))
SECURITY_ClientSources = $(addprefix utilities/, $(SECURITY_ClientFiles))
SECURITY_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SECURITY_ClientSources))))
FBUTIL_ClientSources = $(addprefix fbutil/, $(FBUTIL_ClientFiles))
FBUTIL_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBUTIL_ClientSources))))
FBCOMMON_ClientSources = $(addprefix common/, $(FBCOMMON_ClientFiles))
FBCOMMON_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCOMMON_ClientSources))))
FBMEMORY_ClientSources = $(addprefix common/memory/, $(FBMEMORY_ClientFiles))
FBMEMORY_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBMEMORY_ClientSources))))
FBCLIENT_Objects = $(JRD_ClientObjects) $(DSQL_ClientObjects) \
$(REMOTE_ClientObjects) $(SECURITY_ClientObjects) \
$(FBUTIL_ClientObjects) \
$(FBCOMMON_ClientObjects) $(FBMEMORY_ClientObjects)
.PHONY: libfbclient
libfbclient : $(LIBFBCLIENT_SO)
$(LIBFBCLIENT_SO): $(FBCLIENT_Objects)
$(LIB_LINK) -Wl,-soname,libfbclient.so.1 -Wl,-rpath,/usr/lib -o $@ $^
-$(LN) $(@F) $(LIBFBCLIENT_SOBASENAME)
-$(LN) $(notdir $(LIBFBCLIENT_SOBASENAME)) $(LIBFBCLIENT_SONAME)
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
AllObjects = $(FBCLIENT_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,76 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.libfbcommon,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbcommon
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
LIBFBCOMMON_Objects = $(FBMEMORY_Objects) $(FBCOMMON_Objects) $(FBUTIL_Objects)
AllObjects= $(LIBFBCOMMON_Objects)
Dependancies=$(AllObjects:.o=.d)
.PHONY: libfbcommon
# Added to support super build, but have stong suspicion that
# will not be different from the above fbmem_boot.a library
# compile time macros being the main (if there) difference
libfbcommon: $(LIB)/libfbcommon.a
$(LIB)/libfbcommon.a: $(LIBFBCOMMON_Objects)
-$(RM) $@
$(AR) $@ $^
-$(RANLIB) $@
$(CHMOD_6) $@
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
-include $(Dependancies)

View File

@ -0,0 +1,98 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.libfbembed,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbembed
ArchType=classic
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
# These are deliberatly unexported otherwise gbak and others will try and check
# the userid against the isc4.gdb database, which doesn't exist at this stage
# in the build. MOD 11-July-2002
unexport ISC_USER
unexport ISC_PASSWORD
AllObjects = $(LIBFBEMBED_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: libfbembed
libfbembed : $(LIBFBEMBED_SO)
$(LIBFBEMBED_SO): $(LIBFBEMBED_Objects)
$(LIB_LINK) -Wl,-soname,libfbembed.so.1 -Wl,-rpath,/usr/lib -o $@ $^
-$(LN) $(@F) $(LIBFBEMBED_SOBASENAME)
-$(LN) $(notdir $(LIBFBEMBED_SOBASENAME)) $(LIBFBEMBED_SONAME)
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,116 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.libfbserver,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbserver
CFLAGS:= -DSUPERSERVER
ArchType=super
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
# These are deliberatly unexported otherwise gbak and others will try and check
# the userid against the isc4.gdb database, which doesn't exist at this stage
# in the build. MOD 11-July-2002
unexport ISC_USER
unexport ISC_PASSWORD
# jrd has it's own rule for using gpre to use gpre boot.
# I would eventually like to set these based on a determination
# if the file GPRE_STATIC exists or not.
#GPRE_FLAGS = -n -z -gds_cxx -raw -ids
#.e.c:
# $(GPRE_BOOT) $(GPRE_FLAGS) $< $@
#
#.epp.cpp:
# $(GPRE_BOOT) $(GPRE_FLAGS) $< $@
.PHONY: libfbserver
libfbserver : $(LIB)/libfbserver.a
$(LIB)/libfbserver.a: $(LIBFBSERVER_Objects)
-$(RM) $@
$(AR) $@ $^
-$(RANLIB) $@
$(CHMOD_6) $@
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
AllObjects = $(GDSLIB_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,74 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.libfbstatic,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbstatic
CFLAGS:=-DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
AllObjects= $(LIBFBSTATIC_Objects)
Dependancies=$(AllObjects:.o=.d)
.PHONY: libfbstatic
# Added to support super build, but have stong suspicion that
# will not be different from the above fbmem_boot.a library
# compile time macros being the main (if there) difference
libfbstatic: $(LIB)/libfbstatic.a
$(LIB)/libfbstatic.a: $(LIBFBSTATIC_Objects)
-$(RM) $@
$(AR) $@ $^
-$(RANLIB) $@
$(CHMOD_6) $@
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
-include $(Dependancies)

View File

@ -0,0 +1,188 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.msgs,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=msgs
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
.PHONY: msgs
CHECK_Files = check_msgs.cpp
CHECK_Sources = $(addprefix msgs/, $(CHECK_Files))
CHECK_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CHECK_Sources))))
BUILD_Files = build_file.cpp
BUILD_Sources = $(addprefix msgs/, $(BUILD_Files))
BUILD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(BUILD_Sources))))
ENTER_Files = enter_msgs.cpp
ENTER_Sources = $(addprefix msgs/, $(ENTER_Files))
ENTER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ENTER_Sources))))
MODIFY_Files = modify_msgs.cpp
MODIFY_Sources = $(addprefix msgs/, $(MODIFY_Files))
MODIFY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(MODIFY_Sources))))
CHANGE_Files = change_msgs.cpp
CHANGE_Sources = $(addprefix msgs/, $(CHANGE_Files))
CHANGE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CHANGE_Sources))))
AllObjects = $(CHECK_Objects) $(BUILD_Objects) $(ENTER_Objects) \
$(MODIFY_Objects) $(CHANGE_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: all msgs build_file check_messages enter_messages modify_messages change_messages
Programs = $(BUILD_FILE) $(CHECK_MESSAGES) $(ENTER_MESSAGES) \
$(CHECK_MESSAGES) $(MODIFY_MESSAGES) $(CHANGE_MESSAGES)
all: build_file check_messages enter_messages modify_messages change_messages
msgs: msg.gdb master_msg_db $(Programs) do_check message_file
do_check: $(CHECK_MESSAGES) $(BUILD_FILE)
$(CHECK_MESSAGES) -d $(MSGSDIR)master_msg_db -l
# it's important to note here that these programs are linked against the static
# 'boot' libraries rather than the later embedded shared library.
# They could be linked against the embedded one, or client one, if required.
# MOD 29-July-2002
check_messages : $(CHECK_MESSAGES)
$(CHECK_MESSAGES): $(CHECK_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(CHECK_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
$(CHMOD_7) $@
build_file : $(BUILD_FILE)
$(BUILD_FILE): $(BUILD_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(BUILD_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
$(CHMOD_7) $@
enter_messages : $(ENTER_MESSAGES)
$(ENTER_MESSAGES): $(ENTER_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(ENTER_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
$(CHMOD_7) $@
modify_messages: $(MODIFY_MESSAGES)
$(MODIFY_MESSAGES): $(MODIFY_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(MODIFY_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
$(CHMOD_7) $@
change_messages: $(CHANGE_MESSAGES)
$(CHANGE_MESSAGES): $(CHANGE_Objects) $(LIBFBSTATIC_A) $(LIBFBCOMMON_A)
$(CC) $(LINK_OPTS) $(CHANGE_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
$(CHMOD_7) $@
message_file : $(FIREBIRD)/interbase.msg
$(INTERBASE_MSG) : $(BUILD_FILE) indicator.msg
$(BIN)/build_file -d $(MSGSDIR)master_msg_db -f $@
$(CHMOD_6) $@
indicator.msg indicator.incl:
$(CHECK_MESSAGES) -d $(MSGSDIR)master_msg_db
indicator.loc:
$(CHECK_MESSAGES) -d $(MSGSDIR)master_msg_db -l
msg.gdb:
ln -fs $(SRC_ROOT)/refDatabases/msg.gdb msg.gdb
master_msg_db:
ln -fs $(SRC_ROOT)/refDatabases/msg.gdb master_msg_db
# I know nother about these other than the default being set to none. I
# assume that as we get into it someone will want to use them and fix the
# following.
# potential locals are $(fr_FR_MSG) $(de_DE_MSG) $(ja_JP_MSG)
LOCALES= $(fr_FR_MSG) $(de_DE_MSG) $(ja_JP_MSG)
#LOCALES=
msgs_intl locales.msg: $(LOCALES)
$(fr_FR_MSG) : $(BUILD_FILE) indicator.msg
$(BIN)/build_file -d $(MSGSDIR)master_msg_db -l fr_FR -f $@
$(CHMOD_6) $@
$(de_DE_MSG) : $(BUILD_FILE) indicator.msg
$(BIN)/build_file -d $(MSGSDIR)master_msg_db -l de_DE -f $@
$(CHMOD_6) $@
$(ja_JP_MSG) : $(BUILD_FILE) indicator.msg
$(BIN)/build_file -d $(MSGSDIR)master_msg_db -l ja_JP.EUC -f $@
$(CHMOD_6) $@
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,119 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.refDatabases,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=refDatabases
include $(ROOT)/src/make.rules
include $(ROOT)/src/make.defaults
include $(ROOT)/src/make.platform
include $(ROOT)/src/make.shared.variables
@SET_MAKE@
# If we export the username/password we get an error because we can't connect
# to isc4.gdb! So we won't export them while we make the databases...
#
unexport ISC_USER
unexport ISC_PASSWORD
export DYLD_FRAMEWORK_PATH
DYLD_FRAMEWORK_PATH= $(OBJS)/firebird
export INTERBASE
.PHONY: empty_db refDatabases
# This is where you are going to have trouble if there is one, at creating
# the first empty database. Things to watch out for, gds_lock_mgr not being
# able to be started, $INTERBASE variable pointing in the wrong place,
# shared library path LD_LIBRARY_PATH not pointing to new stuff (mind you this
# point it should be creating using create_db statically linked).
# Also you don't need to worry about lock mgr not being able to set uid to
# superuser. You do not have to be root to build classic, it's just a warning
# and the build process works fine.
empty_db : empty.gdb
empty.gdb : $(BIN)/create_db
-$(RM) $@
$(BIN)/create_db $@
touch $@
chmod 444 $@
# These are the rest of the databases used to build the system. We also build
# the help database from here.
.PHONY: ref_databases
ref_databases : msg.gdb help.gdb metadata.gdb $(FIREBIRD)/help/help.gdb \
$(FIREBIRD)/isc4.gdb
msg.gdb: $(SRC_ROOT)/msgs/msg.gbak
$(BIN)/gbak_static -MODE read_only -R $< msg.gdb
chmod 444 msg.gdb
touch $@
help.gdb: $(SRC_ROOT)/misc/help.gbak
$(BIN)/gbak_static -MODE read_only -R $< help.gdb
chmod 444 help.gdb
touch $@
$(FIREBIRD)/help/help.gdb: $(SRC_ROOT)/misc/help.gbak
$(BIN)/gbak_static -MODE read_only -R $< $@
chmod 444 help.gdb
touch $@
$(FIREBIRD)/isc4.gdb: $(SRC_ROOT)/misc/isc4.gbak
$(BIN)/gbak_static -MODE read_only -R $< $@
# chmod 444 help.gdb
touch $@
metadata.gdb: $(SRC_ROOT)/misc/metadata.gbak
$(BIN)/gbak_static -MODE read_only -R $< metadata.gdb
chmod 444 metadata.gdb
touch $@
# An alternative metadata creation method, this one is actually preferred
# since it ensures the data is valid.
metadata.gdb.x: $(SRC_ROOT)/misc/metadata.sql
$(BIN)/isql -i $<
chmod 444 metadata.gdb
touch $@
FORCE:

View File

@ -0,0 +1,71 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.static.gbak,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=static.gbak
CFLAGS := -DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GBAKSTATIC_Files = backup.epp restore.epp \
burp.cpp canonical.cpp misc.cpp mvol.cpp
GBAKSTATIC_Sources = $(addprefix burp/, $(GBAKSTATIC_Files))
GBAKSTATIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GBAKSTATIC_Sources))))
AllObjects = $(GBAKSTATIC_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gbak_static
gbak_static : $(BIN)/gbak_static
$(BIN)/gbak_static : $(GBAKSTATIC_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
$(CXX) $(LINK_OPTS) $(GBAKSTATIC_Objects) -o $@ -L $(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
# Darwin may need this link as well
#$(COREFOUNDATION_LINK)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,71 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.static.gpre,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=static.gpre
CFLAGS := -DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
GPRECOMMON_Files = cmd.cpp cme.cpp cmp.cpp c_cxx.cpp exp.cpp \
gpre.cpp hsh.cpp int.cpp int_cxx.cpp jrdmet.cpp movg.cpp \
msc.cpp par.cpp pat.cpp sqe.cpp sql.cpp cob.cpp \
noform.cpp
GPRESTATIC_Files = $(GPRECOMMON_Files) gpre_meta.epp
GPRESTATIC_Sources = $(addprefix gpre/, $(GPRESTATIC_Files))
GPRESTATIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRESTATIC_Sources))))
AllObjects = $(GPRESTATIC_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: gpre_static
all : gpre_static
gpre_static : $(GPRE_STATIC)
$(GPRE_STATIC): $(GPRESTATIC_Objects) $(LIBFBCOMMON_A) $(LIBFBSTATIC_A)
$(CC) $(LINK_OPTS) $(GPRESTATIC_Objects) -o $@ -L $(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
-$(RM) $(GPRE_CURRENT)
$(LN) $(@F) $(GPRE_CURRENT)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,69 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.static.isql,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=..
ObjModuleName=static.isql
CFLAGS:= -DBOOT_BUILD
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
unexport ISC_USER
unexport ISC_PASSWORD
ISQL_Files = extract.epp isql.epp show.epp
ISQL_Sources = $(addprefix isql/, $(ISQL_Files))
ISQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ISQL_Sources))))
AllObjects = $(ISQL_Objects)
Dependencies = $(AllObjects:.o=.d)
.PHONY: isql_static
isql_static : $(ISQL_STATIC)
$(ISQL_STATIC): $(ISQL_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
$(CC) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
FORCE:
-include $(Dependencies)

View File

@ -0,0 +1,216 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: Makefile.in.v5_examples,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
ROOT=../..
ObjModuleName=v5_examples
# Add the install include directory to the search path since the
# examples need to build using those headers values.
CFLAGS := $(CFLAGS) -I../firebird/include
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.shared.variables
@SET_MAKE@
PATH := $(BIN):$(PATH)
export PATH
GPRE_FLAGS= -r -m -z -n
EXAMPLES_DEST= $(FIREBIRD)/examples/v5/
EXAMPLES_SRC= $(SRC)/v5_examples/
EMPBLD_Objects= empbuild.o
INTLBLD_Objects= intlbld.o
INPUT_FILES= empddl.sql empdml.sql indexoff.sql indexon.sql \
job.inp lang.inp proj.inp qtr.inp
INTL_FILES= intlddl.sql intldml.sql indexoff.sql indexon.sql \
job.inp lang.inp proj.inp qtr.inp
.PHONY: all
all: v5_examples
# PR 2002-06-23 - Temporarily removed intlemp from the build as it caused a segfault
# The lines to change back are prefixed with ##
##v5_examples: employee.gdb intlemp.gdb $(EXAMPLE_SRC)Makefile
v5_examples: employee.gdb nt_examples
$(CP) $(EXAMPLES_SRC)readme $(EXAMPLES_DEST)README
$(CP) $(EXAMPLES_SRC)align.h $(EXAMPLES_DEST)align.h
$(CP) $(EXAMPLES_SRC)api1.c $(EXAMPLES_DEST)api1.c
$(CP) $(EXAMPLES_SRC)api10.c $(EXAMPLES_DEST)api10.c
$(CP) $(EXAMPLES_SRC)api11.c $(EXAMPLES_DEST)api11.c
$(CP) $(EXAMPLES_SRC)api12.c $(EXAMPLES_DEST)api12.c
$(CP) $(EXAMPLES_SRC)api13.c $(EXAMPLES_DEST)api13.c
$(CP) $(EXAMPLES_SRC)api14.e $(EXAMPLES_DEST)api14.e
$(CP) $(EXAMPLES_SRC)api15.c $(EXAMPLES_DEST)api15.c
$(CP) $(EXAMPLES_SRC)api16.c $(EXAMPLES_DEST)api16.c
$(CP) $(EXAMPLES_SRC)api16t.c $(EXAMPLES_DEST)api16t.c
$(CP) $(EXAMPLES_SRC)api2.c $(EXAMPLES_DEST)api2.c
$(CP) $(EXAMPLES_SRC)api3.c $(EXAMPLES_DEST)api3.c
$(CP) $(EXAMPLES_SRC)api4.c $(EXAMPLES_DEST)api4.c
$(CP) $(EXAMPLES_SRC)api5.c $(EXAMPLES_DEST)api5.c
$(CP) $(EXAMPLES_SRC)api6.c $(EXAMPLES_DEST)api6.c
$(CP) $(EXAMPLES_SRC)api7.c $(EXAMPLES_DEST)api7.c
$(CP) $(EXAMPLES_SRC)api8.c $(EXAMPLES_DEST)api8.c
$(CP) $(EXAMPLES_SRC)api9.c $(EXAMPLES_DEST)api9.c
$(CP) $(EXAMPLES_SRC)api9f.c $(EXAMPLES_DEST)api9f.c
$(CP) $(EXAMPLES_SRC)apifull.c $(EXAMPLES_DEST)apifull.c
$(CP) $(EXAMPLES_SRC)employe2.sql $(EXAMPLES_DEST)employe2.sql
$(CP) $(EXAMPLES_SRC)dyn1.e $(EXAMPLES_DEST)dyn1.e
$(CP) $(EXAMPLES_SRC)dyn2.e $(EXAMPLES_DEST)dyn2.e
$(CP) $(EXAMPLES_SRC)dyn3.e $(EXAMPLES_DEST)dyn3.e
$(CP) $(EXAMPLES_SRC)dyn4.e $(EXAMPLES_DEST)dyn4.e
$(CP) $(EXAMPLES_SRC)dyn5.e $(EXAMPLES_DEST)dyn5.e
$(CP) $(EXAMPLES_SRC)dynfull.e $(EXAMPLES_DEST)dynfull.e
echo $(LD_LIBRARY_PATH)
$(GBAK_STATIC) employee.gdb $(EXAMPLES_DEST)employee.gbk
# -$(RM) $(EXAMPLES_DEST)employee.gdb
$(GBAK_STATIC) -r $(EXAMPLES_DEST)employee.gbk $(EXAMPLES_DEST)employee.gdb
$(CP) $(EXAMPLES_SRC)example.h $(EXAMPLES_DEST)example.h
$(CP) $(EXAMPLES_SRC)api9f.sql $(EXAMPLES_DEST)api9f.sql
## $(GBAK_STATIC) intlemp.gdb $(EXAMPLES_DEST)intlemp.gbk
# -$(RM) $(EXAMPLES_DEST)intlemp.gdb
## $(GBAK_STATIC) -r $(EXAMPLES_DEST)intlemp.gbk $(EXAMPLES_DEST)intlemp.gdb
$(CP) $(EXAMPLES_SRC)stat1.e $(EXAMPLES_DEST)stat1.e
$(CP) $(EXAMPLES_SRC)stat10.e $(EXAMPLES_DEST)stat10.e
$(CP) $(EXAMPLES_SRC)stat11.e $(EXAMPLES_DEST)stat11.e
$(CP) $(EXAMPLES_SRC)stat12.e $(EXAMPLES_DEST)stat12.e
$(CP) $(EXAMPLES_SRC)stat12t.e $(EXAMPLES_DEST)stat12t.e
$(CP) $(EXAMPLES_SRC)stat2.e $(EXAMPLES_DEST)stat2.e
$(CP) $(EXAMPLES_SRC)stat3.e $(EXAMPLES_DEST)stat3.e
$(CP) $(EXAMPLES_SRC)stat4.e $(EXAMPLES_DEST)stat4.e
$(CP) $(EXAMPLES_SRC)stat5.e $(EXAMPLES_DEST)stat5.e
$(CP) $(EXAMPLES_SRC)stat6.e $(EXAMPLES_DEST)stat6.e
$(CP) $(EXAMPLES_SRC)stat7.e $(EXAMPLES_DEST)stat7.e
$(CP) $(EXAMPLES_SRC)stat8.e $(EXAMPLES_DEST)stat8.e
$(CP) $(EXAMPLES_SRC)stat9.e $(EXAMPLES_DEST)stat9.e
$(CP) $(EXAMPLES_SRC)udf.sql $(EXAMPLES_DEST)udf.sql
$(CP) $(EXAMPLES_SRC)udflib.c $(EXAMPLES_DEST)udflib.c
# $(CP) makefile.example $(EXAMPLES_DEST)makefile
nt_examples:
$(CP) $(EXAMPLES_SRC)api9f.def $(EXAMPLES_DEST)api9f.def
$(CP) $(EXAMPLES_SRC)udflib.def $(EXAMPLES_DEST)udflib.def
# $(CP) $(EXAMPLES_SRC)makefile.bc $(EXAMPLES_DEST)Makefile.bc
# $(CP) $(EXAMPLES_SRC)makefile.msc $(EXAMPLES_DEST)Makefile.msc
# Ok the following little story is, first build empbuild.gdb an empty db
# using a script file. Then we can compile the empbuild.e file, then we
# can run it to create employee.gdb database populated with data by the
# program. Thats how I found it.
# MOD July-2001
#
# Another problem here is that empbuild does not fail when it gets an error
# so MAKE thinks it's all run ok. empbuild should be modified to return an
# error when it fails.
# MOD 28-July-2002
employee.gdb: empbuild$(EXEC_EXT) $(INPUT_FILES) isql
-$(RM) employee.gdb
./empbuild employee.gdb
-$(CHMOD_6) employee.gdb
# To get past the fact isql is called from the programs, we create a local link
# to the static one in this directory
isql:
-$(LN) $(ISQL_STATIC) isql
empbuild: $(EMPBLD_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
$(EXE_LINK) $(LINK_OPTS) $(EMPBLD_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
empbuild.exe: $(EMPBLD_OBJ)
-$(RM) empbuild.exe
$(CC) $(O_EXE_SWITCH)empbuild $(LINK_OPTS) empbuild.o $(GDS_LINK)
empbuild.c: empbuild.gdb empbuild.e
empbuild.gdb : $(EXAMPLES_SRC)/empddl.sql $(EXAMPLES_SRC)/empbld.sql
-$(CP) $^ .
-$(RM) $@
$(ISQL_STATIC) -i empbld.sql
# The chain for intlemp.gdb is the same a script file to create an empty database
# to allow a .e program to be compiled, to then create and populate with data
# the intlemp.gdb database.
intlemp.gdb: intlbld$(EXEC_EXT) $(INTL_FILES)
-$(RM) intlemp.gdb
# $(CP) $(SOURCE)/examples/intlddl.sql .
# $(CP) $(SOURCE)/examples/indexoff.sql .
# $(CP) $(SOURCE)/examples/indexon.sql .
# $(CP) $(SOURCE)/examples/intldml.sql .
# $(CP) $(SOURCE)/examples/lang.inp .
./intlbld intlemp.gdb
-$(CHMOD_6) intlemp.gdb
intlbuild.gdb : intlddl.sql intlbld.sql
-$(RM) intlbuild.gdb
$(ISQL_STATIC) -i intlbld.sql
intlbld: $(INTLBLD_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
-$(RM) $@
$(EXE_LINK) $(LINK_OPTS) $(INTLBLD_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
intlbld.exe: $(INTLBLD_OBJ)
-$(RM) intlbld.exe
$(CC) $(O_EXE_SWITCH)intlbld $(LINK_OPTS) intlbld.o $(GDS_LINK)
intlbld.c: intlbuild.gdb intlbld.e
%.sql:: $(SRC)/v5_examples/%.sql
$(CP) $^ $@
%.inp:: $(SRC)/v5_examples/%.inp
$(CP) $^ $@
%.e:: $(SRC)/v5_examples/%.e
$(CP) $^ $@

210
builds/posix/make.defaults Executable file
View File

@ -0,0 +1,210 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. You may obtain a copy of the Licence at
# http://www.gnu.org/copyleft/gpl.html
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# Relevant for more details.
#
# This file was created by members of the firebird development team.
# All individual contributions remain the Copyright (C) of those
# individuals. Contributors to this file are either listed here or
# can be obtained from a CVS history command.
#
# All rights reserved.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: make.defaults,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
#_____________________________________________________________________________
# This file contains default values that are used by the build process do not
# change these here, but override them in the platform specific file
# prefix.xxx where xxx is the platform name using the form SH := bash
# see the readme file with the Makefile.in files for more details.
#_____________________________________________________________________________
#RealFirebirdPath = $(shell cd $(FIREBIRD); pwd)
RealFirebirdPath = @NEW_FIREBIRD_DIR@
FirebirdInstallPrefix = @prefix@
CpuType=@CPU_TYPE@
FirebirdVersion=@FIREBIRD_VERSION@
PackageVersion=@FIREBIRD_PACKAGE_VERSION@
ifeq (@FIREBIRD_ARCH_TYPE@,classic)
ArchPrefix=CS
else
ArchPrefix=SS
endif
SharedLibraryName=@FIREBIRD_LIBGDS_SO@
SharedLibrarySoName=@FIREBIRD_LIBGDS_SO_X_LNK@
SharedLibraryBaseName=@FIREBIRD_LIBGDS_SO_LNK@
# Default programs and tools to be used in the build process
SH= sh -c
RM= rm -f
CHMOD= chmod
CHMOD_6= chmod 666
CHMOD_7= chmod 777
CHMOD_S7= chmod 06777
MV= mv -f
TOUCH= touch
CP= cp
ECHO= echo
QUIET_ECHO= @echo
CD= cd
CAT= cat
AR= ar crsu
LN= ln -s
RANLIB= @RANLIB@
# Default extensions
ARCH_EXT= .a
EXEC_EXT=
# FSG 1.Dez.2000
#SHRLIB_EXT= .so
#_____________________________________________________________________________
# From jrd
JRD_BOOT= $(LIB)/jrd_boot.a
# The shared library name for the embedded (or classic) library
#
LIBFBEMBED_SO = $(LIB)/$(SharedLibraryName)
LIBFBEMBED_SOBASENAME = $(LIB)/$(SharedLibrarySoName)
LIBFBEMBED_SONAME = $(LIB)/$(SharedLibraryBaseName)
LIBGDS_A = $(LIB)/libgds.a
# Shared library names for client side of fbserver (or super) version
# used to link all the utilities to enable them to connect over the wire
# to the fbserver. MOD 28-July-2002
LIBFBCLIENT_SO = $(LIB)/libfbclient.so.1.0.0
LIBFBCLIENT_SOBASENAME=$(LIB)/libfbclient.so.1
LIBFBCLIENT_SONAME=$(LIB)/libfbclient.so
# intl will load dynamically, and having the whole soname set with version
# confuses the dynamic load process. So we only have the .so file
# MOD 28-July-2002
LIBFBINTL_SO = $(FIREBIRD)/intl/libfbintl.so
#LIBFBINTL_SOBASENAME=$(FIREBIRD)/intl/libfbintl.so.1
#LIBFBINTL_SONAME=$(FIREBIRD)/intl/libfbintl.so
LIBFBCOMMON_A = $(LIB)/libfbcommon.a
LIBFBSTATIC_A = $(LIB)/libfbstatic.a
ifdef UseSharedLibraries
LIBGDS_LA = $(LIBGDS_SO)
LIBGDS_DEP =
# LIBGDS_LINK = $(LIBGDS_SO)
LIBGDS_LINK =
# LINK_LIBS := -L$(LIB) -lgdssuper $(LINK_LIBS)
# LINK_LIBS := -L$(LIB) -lgds $(LINK_LIBS)
# LIBGDS_LINK_OPTIONS = -soname libgds.so -rpath /usr/lib
# LIBGDS_LINK_OPTIONS = -Wl,-soname,$(SharedLibrarySoName) -Wl,-rpath,$(FirebirdInstallPrefix)/lib
LIBGDS_LINK_OPTIONS = -Wl,-soname,$(SharedLibrarySoName) -Wl,-rpath,/usr/lib
else
LIBGDS_LA = $(LIBGDS_A)
LIBGDS_DEP = $(LIBGDS_LA)
LIBGDS_LINK =
LIBGDS_LINK_OPTIONS =
endif
# From lock
GDS_LOCK_MGR = $(BIN)/gds_lock_mgr
# From utilities
CREATE_DB = $(BIN)/create_db$(EXEC_EXT)
GDS_DROP = $(BIN)/gds_drop$(EXEC_EXT)
GSTAT = $(BIN)/gstat$(EXEC_EXT)
GSEC = $(BIN)/gsec$(EXEC_EXT)
GDS_REBUILD = $(BIN)/gds_rebuild$(EXEC_EXT)
GDS_RELAY = $(BIN)/gds_relay$(EXEC_EXT)
GDS_INSTALL = $(BIN)/gds_install$(EXEC_EXT)
GDS_INSTALL = $(BIN)/gds_install_service$(EXEC_EXT)
FBGUARD = $(BIN)/fbguard$(EXEC_EXT)
FBMGR_BIN = $(BIN)/fbmgr.bin$(EXEC_EXT)
ISC_GDB = $(FIREBIRD)/isc4.gdb
ISC_GBAK = $(BIN)/isc4.gbak
# From qli
QLI = $(BIN)/qli$(EXEC_EXT)
# From isql
ISQL = $(BIN)/isql$(EXEC_EXT)
ISQL_STATIC = $(BIN)/isql_static$(EXEC_EXT)
MUISQL = $(BIN)/muisql$(EXEC_EXT)
# From burp
GBAK_STATIC = $(BIN)/gbak_static$(EXEC_EXT)
GBAK = $(BIN)/gbak$(EXEC_EXT)
# From gpre
# (gpre current is a link to one of the others)
GPRE_BOOT = $(BIN)/gpre_boot$(EXEC_EXT)
GPRE_STATIC = $(BIN)/gpre_static$(EXEC_EXT)
GPRE = $(BIN)/gpre$(EXEC_EXT)
GPRE_CURRENT = $(BIN)/gpre_current$(EXEC_EXT)
# From msgs
CHECK_MESSAGES = $(BIN)/check_messages$(EXEC_EXT)
BUILD_FILE = $(BIN)/build_file$(EXEC_EXT)
INTERBASE_MSG = $(FIREBIRD)/interbase.msg
ENTER_MESSAGES = $(BIN)/enter_messages$(EXEC_EXT)
MODIFY_MESSAGES = $(BIN)/modify_messages$(EXEC_EXT)
CHANGE_MESSAGES = $(BIN)/change_messages$(EXEC_EXT)
fr_FR_MSG = $(FIREBIRD)/fr_FR.msg
de_DE_MSG = $(FIREBIRD)/de_DE.msg
ja_JP_MSG = $(FIREBIRD)/ja_JP.msg
#Platform Manager
#For want of a better suggestion we may as well default to posix
PLATFORM_PATH = jrd/os/posix

284
builds/posix/make.rules Normal file
View File

@ -0,0 +1,284 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable
# instead of those above. You may obtain a copy of the Licence at
# http://www.gnu.org/copyleft/gpl.html
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# Relevant for more details.
#
# This file was created by members of the firebird development team.
# All individual contributions remain the Copyright (C) of those
# individuals. Contributors to this file are either listed here or
# can be obtained from a CVS history command.
#
# All rights reserved.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: make.rules,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
#____________________________________________________________________________
# Currently I set these manually but they should be set automatically
# from the ./configure installation time
UseSharedLibraries = Yes # If empty then we build static linked exe's
# which are useful for debugging.
# This variable is used to determined flags for
# libtool/ar/ld we define the gds.a/so library name
# in LIBGDS_LA and in Makefile.in.jrd where we do the
# creation of the libgds.a/so library.
#UseLibToolForLink = Yes # Currently we do not use it - but may in the future
#IsProdTypeBuild = Yes # If this is defined then we are building a production
# release with debug and optimization
#____________________________________________________________________________
GEN_ROOT=$(ROOT)/gen
SRC_ROOT=$(ROOT)/src
LIB=$(GEN_ROOT)/firebird/lib
BIN=$(GEN_ROOT)/firebird/bin
MAKE_ROOT=$(GEN_ROOT)
# This picks up the current directory and maps it to the equivalent module
# in the src and gen area.
RealSrcRootPath = $(shell cd $(SRC_ROOT); pwd)
#ModuleName:=$(notdir $(CURDIR))
ModuleName:=$(subst $(RealSrcRootPath)/,,$(CURDIR))
SRC=$(SRC_ROOT)
#SRC=$(SRC_ROOT)/$(ModuleName)
OBJ=$(GEN_ROOT)/$(ObjModuleName)
DEP=$(OBJ)
GEN_SRC=$(OBJ)
# This one is not so widely used at the momement.
# but I would like it to become so.
FIREBIRD=$(GEN_ROOT)/firebird
INTERBASE=$(FIREBIRD)
export INTERBASE
export FIREBIRD
# I would like to remove this one.
SOURCE=$(ROOT)/src
CFLAGS:= $(CFLAGS) -g -pipe -MMD -p -fPIC -Wall -I$(ROOT)/src -I$(ROOT)/src/include
CXXFLAGS:= $(CXXFLAGS) $(CFLAGS)
#CC = libtool @CC@
#CXX = libtool @CXX@
CC = @CC@
CXX = @CXX@
# Most of the libraries and programs are linked using the dynamic linker
# We default to using the dynamic linker and have a special link macros for
# using the static linker.
#
# Also libtool looks like the future in cross platform shared object compile
# and linking, but unfortunately it does not yet work for us, as a
# libtool gcc -o $(BIN)/fred fred.o libzzz.la
# command will generate incorrect relative addresses in the wrapper script in
# $(BIN)/fred as it required the exe file fred to be in the directory from
# which the command is run from.
# One other issue is that libtool puts a -DPIC onto the compile line. While
# nice it conflicts with a struct in the file qli/format.h
# MOD 26-July-2001.
ifdef UseLibToolForLink
LIB_LINK= libtool @CC@
STATICLIB_LINK = libtool @CC@ -all-static
LIB_LINK_OPTIONS = -version-info 0:0:0 -release 1.5.0.0 -rpath /usr/lib
EXE_LINK = libtool @CC@
STATICEXE_LINK = libtool @CC@ -all-static
else
LIB_LINK= g++ -shared
STATICLIB_LINK= ar cruvs
# LIB_LINK_OPTIONS = -soname libgds.so -rpath /usr/lib
# LIB_LINK_OPTIONS = -soname libgds.so.2 -rpath /usr/lib
LIB_LINK_OPTIONS =
# EXE_LINK = g++
# STATICEXE_LINK = g++
EXE_LINK = @CXX@
STATICEXE_LINK = @CXX@
endif
LINK_OPTIONS=
# ReadlineLibs - choose one of the following depending upon your
# OS and distribution. SuSE is happy with just -lreadline
# This is something that we should pick up with autoconf.
# This should be all automatically set from autoconf stript now
# And should be removed if noone has trouble a few months after
# I added this comment - MOD 11-July-2002
#ReadlineLibs = -lreadline -ltermcap
#ReadlineLibs = -lreadline -lncurses
#ReadlineLibs:= -lreadline
#LINK_LIBS:= -lm -lstdc++ $(ReadlineLibs) @LIBS@ -lc -ldl -lcrypt
#STATICLINK_LIBS := -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt
LINK_LIBS = @LIBS@
STATICLINK_LIBS = @LIBS@
#LINK_LIBS= -L$(LIB) -lgds -lm -lc -ldl -lcrypt
# -lgcc
# These should no longer be required but I've left here
# in case someone needs to know what they were
#STATICLIBTOOL= libtool gcc -static
#STATIC_LINK_OPTIONS= -static
#STATIC_LINK_LIBS= -lm -lc -mieee-fp -ldl -lcrypt
#SHLIB_LINK_OPTIONS = -shared
ifdef IsProdTypeBuild
CXXFLAGS:= -O3 -m486 -DPROD_BUILD $(CXXFLAGS)
else
CXXFLAGS:= -ggdb -DDEV_BUILD $(CXXFLAGS)
endif
# Here we have definitions for using the preprocessor.
# The GPRE_FLAGS is overwritten in Makefile.in.jrd Makefile.in.gpre and
# since they do something extra to allow the boot build to work.
#
# One other point is that sometimes a failure in compile with gpre does not
# result in an error being generated. The generated source file still
# compiles and throws the make off the path.
#
# This bit of code is part of unfinished bit to let make determine if
# gpre gpre_static or gpre_boot should be used based on which ones exist.
#
# testgpre = $(shell if [ -f $(GPRE) ]; then; echo $(GPRE); else; echo ""; fi)
#test1:
# echo $(testgpre)
GPRE_FLAGS= -r -m -z -n
.SUFFIXES: .c .e .epp .cpp
.e.c:
$(GPRE_CURRENT) $(GPRE_FLAGS) $< $@
.epp.cpp:
$(GPRE_CURRENT) $(GPRE_FLAGS) $< $@
.SUFFIXES: .lo .o .cpp .c
.c.o:
$(CC) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) $<
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) $<
#.c.lo:
# $(CC) -c $(PIC_FLAGS) $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -o $*.lo $<
#
#.cpp.lo:
# $(CXX) -c $(PIC_FLAGS) $(CXXFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -o $*.lo $<
#
$(OBJ)/%.o:: $(SRC)/%.c
$(CC) $(CXXFLAGS) -c $(firstword $<) -o $@
@$(move-dep)
$(OBJ)/%.o: $(SRC)/%.cpp
$(CXX) $(CXXFLAGS) -c $(firstword $<) -o $@
@$(move-dep)
$(OBJ)/%.lo: $(SRC)/%.cpp
@$(move-dep)
#$(OBJ)/%
#.epp.cpp:
# $(GPRE_STATIC) $(GPRE_FLAGS) $<
$(OBJ)/%.o: $(DEP)/%.d
.SUFFIXES: .epp .e
# Just write out a line making the .cpp file dependant on the .d file
# since the .d file was just created then it will force a compile of the
# .cpp files
$(DEP)/%.d:: $(SRC)/%.c
@echo "need to rebuild $^"
echo $(OBJ)/$(*).o " : FORCE" > $@
# touch $^
$(DEP)/%.d:: $(SRC)/%.epp
@echo "need to rebuild $^"
echo $(OBJ)/$(*).o " : FORCE" > $@
# touch $^
$(DEP)/%.d:: $(SRC)/%.cpp
@echo "need to rebuild $^"
echo $(OBJ)/$(*).o " : FORCE" > $@
# touch $^
# code to move the dependancy files from the current directory
# (a # is used to delimit the sed substitute command since a "/"
# gets in trouble with directory path names)
define move-dep
if [ -f $(*F).d ]; \
then \
sed -e '1 s#$(@F)#$(OBJ)\/$(@F)#' $(*F).d > tmp.d; \
mv tmp.d $(OBJ)/$(*F).d; \
rm $(*F).d; \
touch $@; \
fi
endef

View File

@ -0,0 +1,285 @@
#________________________________________________________________________
#
# jrd
# to get at the database. why.cpp is the normal one whybk.cpp is the one
# compiled with a BACKEND flag, it seems to be (from a quick look at
# the code) to allow the use of another library to talk to data from
# and earlier version data file. (Good way to achieve back portability)
# In the current builds only why.cpp is used, to build using whybk.cpp you
# will need to look at what is contained in the original makefiles.
WHY_Sources = why.c
WHY_BACKEND_Sources= whybk.c
# why.c does the switch to determine the actual implementation to use
JRD_ClientFiles = alt.cpp cvt.cpp dsc.cpp dls.cpp \
enc.cpp gds.cpp isc.cpp isc_file.cpp isc_ipc.cpp \
isc_sync.cpp perf.cpp sch.cpp sdl.cpp status.cpp \
thd.cpp utl.cpp \
$(WHY_Sources)
# These are in the win32 release but not unix one for super?
#err.cpp flu.cpp functions.cpp
JRD_ServerFiles= blob_filter.epp dpm.epp dyn.epp dyn_def.epp \
dyn_del.epp dyn_mod.epp dyn_util.epp fun.epp \
grant.epp ini.epp met.epp pcmet.epp scl.epp \
\
ail.cpp all.cpp bookmark.cpp blb.cpp btr.cpp builtin.cpp \
cch.cpp cmp.cpp cvt2.cpp db_alias.cpp \
dfw.cpp divorce.cpp \
err.cpp iberr.cpp \
event.cpp evl.cpp exe.cpp ext.cpp filters.cpp flu.cpp functions.cpp \
idx.cpp inf.cpp intl.cpp intl_builtin.cpp inuse.cpp \
jrd.cpp jrn.cpp lck.cpp llio.cpp log.cpp \
misc.cpp mov.cpp nav.cpp old.cpp opt.cpp pag.cpp par.cpp \
plugin_manager.cpp pwd.cpp rec.cpp rlck.cpp \
rng.cpp rse.cpp sbm.cpp \
sdw.cpp shut.cpp sort.cpp sort_mem.cpp sqz.cpp \
svc.cpp sym.cpp tpc.cpp tra.cpp val.cpp vio.cpp \
$(IO_Sources) $(DEBUG_Sources)
JRD_Files = $(JRD_ClientFiles) $(JRD_ServerFiles)
# expands list to jrd/xx.cpp ...
JRD_Sources = $(addprefix jrd/, $(JRD_Files))
# expands list to ../<module>/jrd/xx.o entries
JRD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(JRD_Sources))))
# If your platform needs these then you may need
# to include something like.
# JRD_P_Sources := $(subst, flu.lo, , $(JRD_P_Sources))
#________________________________________________________________________
#
# dsql
DSQL_ClientFiles = array.epp blob.epp \
preparse.cpp user_dsql.cpp utld.cpp keywords.cpp
DSQL_ServerFiles= metd.epp \
alld.cpp ddl.cpp dsql.cpp \
errd.cpp gen.cpp hsh.cpp make.cpp \
movd.cpp parse.cpp pass1.cpp
DSQL_Files = $(DSQL_ClientFiles) $(DSQL_ServerFiles)
DSQL_Sources = $(addprefix dsql/, $(DSQL_Files))
DSQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DSQL_Sources))))
#________________________________________________________________________
#
# lock
LOCK_Files = lock.cpp
LOCK_Sources = $(addprefix lock/, $(LOCK_Files))
LOCK_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(LOCK_Sources))))
#________________________________________________________________________
#
# remote
REMOTE_ClientFiles = allr.cpp inet.cpp interface.cpp merge.cpp \
parser.cpp protocol.cpp remote.cpp
INTERFACE_Files= $(REMOTE_ClientFiles)
INTERFACE_Sources = $(addprefix remote/, $(INTERFACE_Files))
INTERFACE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(INTERFACE_Sources))))
#________________________________________________________________________
#
# pipe
PIPE_Files= head5.cpp allp.cpp
PIPE_Sources = $(addprefix pipe/, $(PIPE_Files))
PIPE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(PIPE_Sources))))
#________________________________________________________________________
#
# intl
# none currently.
#________________________________________________________________________
#
# wal
WAL_Files= wal.cpp walc.cpp walf.cpp walr.cpp wstatus.cpp walw.cpp
WAL_Sources = $(addprefix wal/, $(WAL_Files))
WAL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(WAL_Sources))))
#________________________________________________________________________
#
# gpre
GPRELIB_Files = pretty.cpp
GPRELIB_Sources = $(addprefix gpre/, $(GPRELIB_Files))
GPRELIB_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRELIB_Sources))))
#________________________________________________________________________
#
# alice
ALICE_Files=
ifeq ($(ArchType),super)
ALICE_Files=alice.cpp all.cpp exe.cpp alice_meta.epp tdr.cpp
endif
ALICE_Sources = $(addprefix alice/, $(ALICE_Files))
ALICE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ALICE_Sources))))
#________________________________________________________________________
#
# alice
BURP_Files=
ifeq ($(ArchType),super)
BURP_Files=burp.cpp backup.epp restore.epp mvol.cpp misc.cpp canonical.cpp
endif
BURP_Sources = $(addprefix burp/, $(BURP_Files))
BURP_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(BURP_Sources))))
#________________________________________________________________________
#
# utilities
SECURITY_ClientFiles = security.cpp
SECURITY_ServerFiles:=
ifeq ($(ArchType),super)
SECURITY_ServerFiles:= $(SECURITY_ServerFiles) gsec.cpp dba.epp ppg.cpp cmd_util.cpp
endif
SECURITY_Files = $(SECURITY_ClientFiles) $(SECURITY_ServerFiles)
SECURITY_Sources = $(addprefix utilities/, $(SECURITY_Files))
SECURITY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SECURITY_Sources))))
#________________________________________________________________________
#
# fbutil
FBUTIL_ClientFiles=FirebirdConfig.cpp FirebirdConfigFile.cpp
FBUTIL_ServerFiles=
FBUTIL_Files = $(FBUTIL_ClientFiles) $(FBUTIL_ServerFiles)
FBUTIL_Sources = $(addprefix fbutil/, $(FBUTIL_Files))
FBUTIL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBUTIL_Sources))))
#________________________________________________________________________
#
# common/memory
FBMEMORY_ClientFiles=allocators.cpp memory_pool.cpp
FBMEMORY_ServerFiles=
FBMEMORY_Files= $(FBMEMORY_ClientFiles) $(FBMEMORY_ServerFiles)
FBMEMORY_Sources = $(addprefix common/memory/, $(FBMEMORY_Files))
FBMEMORY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBMEMORY_Sources))))
#________________________________________________________________________
#
# common
FBCOMMON_ClientFiles = fb_exception.cpp
FBCOMMON_ServerFiles =
FBCOMMON_Files = $(FBCOMMON_ClientFiles) $(FBCOMMON_ServerFiles)
FBCOMMON_Sources = $(addprefix common/, $(FBCOMMON_Files))
FBCOMMON_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCOMMON_Sources))))
#________________________________________________________________________
#
# Platform Manager
OS_SPECIFIC_Files= path_utils.cpp mod_loader.cpp
OS_SPECIFIC_Sources = $(addprefix $(PLATFORM_PATH)/, $(OS_SPECIFIC_Files))
OS_SPECIFIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(OS_SPECIFIC_Sources))))
#________________________________________________________________________
#
# These are the lists of object/shared object files that will go into libgds.a
# and libgds.so.
LIBFBEMBED_Objects =$(OS_SPECIFIC_Objects) \
$(JRD_Objects) \
$(DSQL_Objects) \
$(LOCK_Objects) \
$(INTERFACE_Objects) \
$(PIPE_Objects) \
$(WAL_Objects) \
$(GPRELIB_Objects) \
$(SECURITY_Objects) \
$(FBUTIL_Objects) \
$(FBMEMORY_Objects) \
$(FBCOMMON_Objects) \
$(BURP_Objects) \
$(ALICE_Objects)
# Objects differences for server (super) and embedded (classic) libraries
# have been worked out above in this file, based on macros, so here they
# both refer to the same thing. (better way always possible)
# MOD 29-July-2002
LIBFBSERVER_Objects =$(LIBFBEMBED_Objects)
# The following library is a 'reduced' set (although not that reduced)
# to enable easy compilation of a boot kit containing a simple gpre and
# gbak modules. These are then used to compile the rest of the system.
# MOD 29-July-2002
# Notice that $(SECURITY_Objects) are missing, because that file can't be
# compiled until later in the build process.
LIBFBSTATIC_Objects = $(OS_SPECIFIC_Objects) \
$(JRD_Objects) \
$(DSQL_Objects) \
$(LOCK_Objects) \
$(INTERFACE_Objects) \
$(PIPE_Objects) \
$(WAL_Objects) \
$(GPRELIB_Objects)
# Not needed since loaded into libfbmemory.a already
# $(FBUTIL_Objects) \
# $(FBMEMORY_Objects)

249
builds/posix/prefix.darwin Normal file
View File

@ -0,0 +1,249 @@
# The contents of this file are subject to the Interbase Public
# License Version 1.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy
# of the License at http://www.Inprise.com/IPL.html
#
# Software distributed under the License is distributed on an
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
# or implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code was created by Inprise Corporation
# and its predecessors. Portions created by Inprise Corporation are
#
# Copyright (C) 2000 Inprise Corporation
# All Rights Reserved.
# Contributor(s): ______________________________________.
# Start of file prefix.darwin: $(VERSION) @PLATFORM@
#$Id: prefix.darwin,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#_____________________________________________________________________________
#
# John I've added these here since I copied them from within the makefiles
# to this spot. Just to show where they came from.
# Most of this stuff would need to go at the end of the include file here.
# and not at the beginning.
# MOD 26-July-2001
# Adding to LINK_LIBS to add the framework thing.
# adding another dependancy onto the includes target
# End add by me MOD 26-July-2001
#______________________________________________________________________________
# use the following to define conditional DEV/PROD compile
ifdef IsProdTypeBuild
DEBUG_Sources= nodebug.cpp
CFLAGS:= -O3 -DPROD_BUILD $(CFLAGS)
else
DEBUG_Sources= grammar.c dbg.cpp dbt.cpp dmp.cpp
CFLAGS:= -ggdb -DDEV_BUILD $(CFLAGS)
endif
FBFW_PREFIX= Firebird2
FW_NAME= $(FBFW_PREFIX).framework
FW_PATH= $(FIREBIRD)
FB_FRAMEWORK= $(FW_PATH)/$(FW_NAME)
FW_VERS= 1.1.0
FW_COMPAT_VERS= 1.0.0
PHASE2_SHLIB_PATH= unset INTERBASE; export DYLD_FRAMEWORK_PATH=$(FIREBIRD);
POST_BUILD_TARGET= darwin_framework
SS_POST_BUILD_TARGET= ss_darwin_framework
DEBUG_OBJECTS= $($(VERSION)_DEBUG_OBJECTS)
SHRLIB_DIR= $($(VERSION)_SHRLIB_DIR)
SHRLIB_EXT= .dylib
VERSION_FLAG= $($(VERSION)_VERSION_FLAG)
CFLAGS_COMMON= $($(VERSION)_CFLAGS) -w -F$(FW_PATH)
#CFLAGS= $(CFLAGS_COMMON) $(SUPER_FLAG)
PIC_J_CFLAGS= $(CFLAGS_COMMON) -DPIPE_IS_SHRLIB -dynamic -fno-common
SPECIAL_OBJECTS= j
UDF_LINK_CMD= libtool
UDF_CFLAGS= -dynamic -fno-common
UDF_LFLAGS= -dynamic
UDF_SHRLIBS= -lcc_dynamic -framework System
#NOTE: PIC_J_CFLAGS is special CFLAGS used to build PIPD_IS_SHRLIB modules
# to workaround the Solaris threading problems with signals
#NOTE: -Xt is ANSI C transition mode (default)
# -DBDS_COMP is for BSD Compatibility package and is used in <sys/ioctl.h>
ACCESS_METHOD= gdslib.dylib pipe
BACKEND_BRIDGE_MISC= $(OBJS)/pipe/head5.o $(OBJS)/pipe/allp.o
BIN_PATH= /usr/isc/bin
BRIDGE_MISC= $(OBJS)/pipe/head5.o $(OBJS)/pipe/allp.o
CHMOD_VAL= 666
CURSES_LIB=
DSQL_P_OBJS= dsql_p_objects
FORM_OBJECTS= form.o
FORM_TRN_OBJECTS= form_trn.o
FUNCTIONS= functions.bin
FUNCSHR= $(OBJS)/firebird/lib/gdsf.so
DROP_LINK= $(GDS_LINK)
GDS_LINK= $(GDSSHR_LINK)
GDS_PYXIS= gds_pyxis.a
GDSLIB_BACKEND= $(OBJS)/firebird/lib/gds_b.a
GDSLIB_LINK= -L$(OBJS)/jrd -lgds_b
#LINK_OPTS= -F$(FW_PATH) -framework $(FBFW_PREFIX)
#SS_LINK_OPTS= -F$(FW_PATH)
GPRE_BOOT_LINK_OPTS=
PLATFORM_INSTALLER= darwin_installer
SUPER_PLATFORM_INSTALLER= super_darwin_installer
GDSSHR_DEST= $(OBJS)/firebird/lib/gds.dylib
GDSSHR= gds.dylib
#LINUX_GDSSHR= $(GDSSHR)
GDSSHR_LINK= -F$(FW_PATH) -framework $(FBFW_PREFIX)
#GDSSHR_LINK= $(SHRLIB_DIR) -lgds_pyxis
#PIPE_GDSSHR= $(OBJS)/firebird/lib/gds.so.0
#PIPE_GDSSHR_LINK= $(SHRLIB_DIR) -lgds_pyxis
PIPE_GDSSHR_LINK= $(SHRLIB_DIR)
HLPDIR= $(SOURCE)/qli/
HOSTNAME= `hostname | cut -d'.' -f1`
INCLUDES= include_so include_so_ada include_darwin
INTL= intl
INTL_CFLAGS= -bundle $(CFLAGS)
INTL_LD_LINE= cc -bundle -o gdsintl -F$(OBJS)/firebird -framework $(FBFW_PREFIX)
INTL_PIC_FLAGS= -bundle $(PIC_FLAGS)
INTL_TARGET= intl_shr_objs
IO_OBJECTS= unix.o
IO_P_OBJECTS= unix.bin
JRD_MISC_OBJECTS=
JRD_J_MISC_OBJECTS=
#JRD_P_MISC_OBJECTS= $(OBJS)/jrd/nodebug.bin
JRD_P_MISC_OBJECTS=
LANG_OBJECTS= ada.o ftn.o cob.o
LANGUAGES= cc cxx ada microfocus_cob make16 gdl1
LD_LIBS= -lcc_dynamic
LD_LIBS_J=
LD_OPTS= -dylib
LOCK_JRD_MISC=
LOCK_MANAGER=
MARION_DB= -d source/marion.gdb
MUISQL= muisql
#MUISQL_MU_LIB= -L /usr/gds.$(HOSTNAME)/qa_tools/lib -lmu
MUISQL_MU_LIB= -L /usr/gds.$(HOSTNAME)/qa_tools/lib -lmu
MUISQL_LINK_OPTS= $(MUISQL_MU_LIB) $(PIPE_GDSSHR_LINK)
PIC_FLAGS= $(CFLAGS) -dynamic -fno-common
PIPE= gds.a gds_pipe
REG_HELP= isc_ins_hlp.dat
REMOTE_GDSSHR= $(GDSSHR)
REMOTE_GDSSHR_LINK= $(SERVER_LINK)
REMOTE_P_OBJS= rem_p_objects
SCREEN_LIBS=
SERVER_LINK= $(GDSSHR_LINK)
SETUP_ISC= ISC_USER=sysdba; ISC_PASSWORD=masterkey; export ISC_USER ISC_PASSWORD;
#SPECIAL_OPT= $(SOURCE)/special_opt
SPECIAL_OPT=
NETWORK_LIB=
SOCKET_LIB=
THREAD_LIB= -lpthread
SUN_FUNCSHR= $(FUNCSHR)
DARWIN_SUPER_GDSSHR= $(OBJS)/firebird/lib/gds.dylib.1
SUPER_CLIENT_GDSSHR= $(DARWIN_SUPER_GDSSHR)
SUPER_BACKEND= $(OBJS)/jrd/gds_ss.a
SUPER_LINK= -L$(OBJS)/jrd -lgds_ss -framework System -framework Foundation
SUPER_SERVER=
UTILITIES=
WAL_P_OBJS= wal_p_objects
SU_EXEC= $(SOURCE)/su_exec.sh
SUPER_SERVER_DEST= $(OBJS)/firebird/bin/ibserver
INET_SERVER_DEST= $(OBJS)/firebird/bin/gds_inet_server
DNET_SERVER_DEST= $(OBJS)/firebird/bin/gds_dnet_server
AMBX_SERVER_DEST= $(OBJS)/firebird/bin/gds_server
INET_LIB_DEST= $(OBJS)/firebird/lib/gds_inet_server.a
DNET_LIB_DEST= $(OBJS)/firebird/lib/gds_dnet_server.a
MSG_INSTALL_CMD= $(CP) $(OBJS)/firebird/interbase.msg $(FB_FRAMEWORK)/Resources/English.lproj
CARBONCORE_DIR_FLAG= -F/System/Library/Frameworks/CoreServices.framework/Frameworks
DARWIN_COREFOUNDATION_LINK= -framework CoreFoundation
DARWIN_FOUNDATION_LINK= -framework Foundation
# Options for linking the FB shared library.
LIBGDS_SO := $(LIB)/libgds.dylib
LIB_LINK := libtool
LIBGDS_LINK_OPTIONS := -dynamic -install_name \
$(FW_NAME)/Versions/A/$(FBFW_PREFIX) \
-current_version $(FW_VERS) \
-compatibility_version $(FW_COMPAT_VERS) \
-framework System -framework CoreFoundation \
-lstdc++ -lcc_dynamic
LIB_LINK_OPTIONS := -dynamic
# The routines used for IO. Darwin uses the unix routines.
IO_Sources= unix.cpp
# Add in the platform specific link options
LINK_LIBS := $(DARWIN_COREFOUNDATION_LINK)
STATICLINK_LIBS := $(LINK_LIBS)
LINK_OPTS := $(DARWIN_COREFOUNDATION_LINK)
# We need to over ride some of the defaults set in make.defaults
AR= ar cru
# Define our own rules to over ride those in make.rules
CFLAGS := $(CARBONCORE_DIR_FLAG) $(CFLAGS)
# If we don't define CXXFLAGS again, our changes to CFLAGS won't take effect
# for CXXFLAGS
CXXFLAGS:= $(CXXFLAGS) $(CFLAGS)
# Set up the link line to work with the framework.
ifdef UseSharedLibraries
LIBGDS_LINK = -F$(FIREBIRD) -framework $(FBFW_PREFIX)
endif
# Set DYLD_FRAMEWORK_PATH to point to the framework we are building.
export DYLD_FRAMEWORK_PATH
DYLD_FRAMEWORK_PATH := $(FIREBIRD)
# The target to generate our psuedo framework for use when compiling.
firebird: darwin_pseudo_fw
darwin_pseudo_fw:
$(RM) -rf $(FB_FRAMEWORK)
mkdir -p $(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var
ln -s Versions/Current/$(FBFW_PREFIX) $(FB_FRAMEWORK)/$(FBFW_PREFIX)
ln -s Versions/Current/Resources $(FB_FRAMEWORK)/Resources
ln -s Versions/Current/Headers $(FB_FRAMEWORK)/Headers
ln -s A $(FB_FRAMEWORK)/Versions/Current
sed "s/__VERSION__/0.0.boot/g" $(SRC_ROOT)/install/arch-specific/darwin/FrameworkInfo.plist > $(FB_FRAMEWORK)/Resources/Info.plist
ln -s ../../../include $(FB_FRAMEWORK)/Versions/A/Headers
ln -s ../../../lib/libgds.dylib $(FB_FRAMEWORK)/Versions/A/$(FBFW_PREFIX)
ln -s ../../../../../../interbase.msg \
$(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var/interbase.msg
ln -s ../../../../../../bin \
$(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var/bin
ln -s ../../../../../../intl \
$(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var/intl
ln -s ../../../../../../isc4.gdb \
$(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var/isc4.gdb
ln -s ../../../../../../help \
$(FB_FRAMEWORK)/Versions/A/Resources/English.lproj/var/help
# End of file prefix.darwin: $(VERSION) $(PLATFORM)

View File

@ -0,0 +1,10 @@
#_____________________________________________________________________________
# Changing options based on module
# Something that Solaris was doing for intl libraries.
if $(eq $(ModuleName), "intl")
LIB_LINK_OPTIONS := -assert pure-text -assert nosymbolic
endif

148
builds/posix/prefix.linux Normal file
View File

@ -0,0 +1,148 @@
# The contents of this file are subject to the Interbase Public
# License Version 1.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy
# of the License at http://www.Inprise.com/IPL.html
#
# Software distributed under the License is distributed on an
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
# or implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code was created by Inprise Corporation
# and its predecessors. Portions created by Inprise Corporation are
# Copyright (C) Inprise Corporation.
#
# All Rights Reserved.
# Contributor(s): ______________________________________.
# Start of file prefix.linux: $(VERSION) $(PLATFORM)
#$Id: prefix.linux,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#Revision 1.6 2000/12/01 11:20:31 fsg
#Added SHRLIB_EXT to prefix.linux
#Added Platform Manager rules PR 2002-06-22
# use the following to define conditional DEV/PROD compile
ifdef IsProdTypeBuild
DEBUG_Sources= nodebug.cpp
CFLAGS:= -O3 -m486 -DPROD_BUILD $(CFLAGS)
else
# Commented out since new memory model doesn't work with it.
DEBUG_Sources= nodebug.cpp
# DEBUG_Sources= grammar.c dbg.cpp dbt.cpp dmp.cpp
CFLAGS:= -ggdb -DDEV_BUILD $(CFLAGS)
endif
#SHRLIB_DIR= -L$(LIB)
CFLAGS:= $(CFLAGS) -DLINUX -Wall -fwritable-strings $(SUPER_FLAG)
#PIC_J_CFLAGS:= $(CFLAGS_COMMON) -DPIPE_IS_SHRLIB -fPIC
#SPECIAL_OBJECTS= j
#UDF_LINK_CMD= gcc
#UDF_CFLAGS= -fPIC -mieee-fp
#UDF_LFLAGS= -shared
#UDF_SHRLIBS= -L$(INTERBASE)/lib -lgds -lm -lc -mieee-fp -ldl -lcrypt
#NOTE: PIC_J_CFLAGS is special CFLAGS used to build PIPD_IS_SHRLIB modules
# to workaround the Solaris threading problems with signals
#NOTE: -Xt is ANSI C transition mode (default)
# -DBDS_COMP is for BSD Compatibility package and is used in <sys/ioctl.h>
#ACCESS_METHOD= gdslib.linux pipe
#CHMOD_VAL= 666
FUNCTIONS= functions.bin
#FUNCSHR= $(OBJS)/firebird/lib/gdsf.so
#GDS_LINK= $(OBJS)/jrd -lgds_b
#GDS_LINK= $(GDSSHR_LINK)
#GDSLIB_BACKEND= $(OBJS)/firebird/lib/gds_b.a
#GDSLIB_LINK= -L$(OBJS)/jrd -lgds_b -lc -ldl -lcrypt
#GDSSHR= libgds.so
#LINUX_GDSSHR= $(GDSSHR)
#GDSSHR_LINK= $(SHRLIB_DIR) -lgds -ldl -lcrypt
#PIPE_GDSSHR= source/interbase/lib/gds.so.0
#PIPE_GDSSHR_LINK= $(SHRLIB_DIR) -lgds
#HLPDIR= source/qli/
#HOSTNAME= `hostname | cut -d'.' -f1`
INCLUDES= include_so include_so_ada
INTL=
#INTL= intl
IO_Sources= unix.cpp
#LANG_OBJECTS= ada.o ftn.o cob.o
#LANGUAGES= cc cxx ada microfocus_cob make16 gdl1
LD_LIBS= -lc
LD_LIBS_J= -lc
LD_OPTS= -shared
#LOCK_JRD_MISC=
#LOCK_JRD_MISC= source/jrd/thd.o
#LOCK_MANAGER= manager
# In building the test kit may need to look at this
#MUISQL= muisql
#MUISQL_MU_LIB= -L /usr/gds.$(HOSTNAME)/qa_tools/lib -lmu
#MUISQL_LINK_OPTS= $(MUISQL_MU_LIB) $(PIPE_GDSSHR_LINK) -lm
PIC_FLAGS= $(CFLAGS) -fPIC
PIPE= gds.a gds_pipe
REG_HELP= isc_ins_hlp.dat
REMOTE_GDSSHR= $(GDSSHR)
REMOTE_GDSSHR_LINK= $(SERVER_LINK)
SERVER_LINK= $(GDSSHR_LINK)
SOCKET_LIB= -lc
THREAD_LIB= -lpthread
LX_SUPER_GDSSHR= source/interbase/lib/gds.so.1
SUPER_CLIENT_GDSSHR= $(LX_SUPER_GDSSHR)
SUPER_BACKEND= source/jrd/gds_ss.a
SUPER_LINK= -Lsource/jrd -lgds_ss -lc -ldl -lcrypt -lpthread
SUPER_SERVER=
UTILITIES=
#------------------------------------
# Platform Manager stuff
PLATFORM_PATH= jrd/os/posix
# End of file prefix.linux: $(VERSION) $(PLATFORM)
#--------------------------------
# Some other things.
# For solaris and gbak
#LINK_LIBS += -lnsl

135
builds/posix/prefix.sinixz Normal file
View File

@ -0,0 +1,135 @@
# The contents of this file are subject to the Interbase Public
# License Version 1.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy
# of the License at http://www.Inprise.com/IPL.html
#
# Software distributed under the License is distributed on an
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
# or implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code was created by Inprise Corporation
# and its predecessors. Portions created by Inprise Corporation are
# Copyright (C) Inprise Corporation.
#
# All Rights Reserved.
# Contributor(s):
#
# Erik Kunze, Philosys GmbH, <kunze@philosys.de>
#
# $Id: prefix.sinixz,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
.SUFFIXES: .c .e
.e.c:
$(GPRE) $(GPRE_FLAGS) $<
.SUFFIXES: .bin .o .c
.c.o:
$(CC) -c $(CFLAGS) $(VERSION_FLAG) $<
.c.bin:
$(CC) -c $(PIC_FLAGS) $(VERSION_FLAG) -o $*.bin $<
ifdef IsProdTypeBuild
DEBUG_OBJECTS= nodebug.o
SHRLIB_DIR= -Lsource/jrd -L$(INTERBASE)/interbase/lib -L$(INTERBASE)/source/interbase/lib
VERSION_FLAG= -DPROD_BUILD
CFLAGS= -O3 -DHADES -DBSD_COMP -DLARGEFILE -DEXACT_NUMERICS -DUNIX -DSINIXZ -w -fwritable-strings -I$(INTERBASE)/include
else
DEBUG_OBJECTS= grammar.o dbg.o dbt.o dmp.o
SHRLIB_DIR= -Lsource/jrd -L$(INTERBASE)/interbase/lib -L$(INTERBASE)/source/interbase/lib
VERSION_FLAG= -DDEV_BUILD
WARNINGS= -Wall -Wno-implicit -Wno-switch -Wno-unused -Wno-uninitialized -Wno-parentheses
#CFLAGS= -g -DBSD_COMP -DLARGEFILE -DEXACT_NUMERICS -DUNIX -DSINIXZ $(DEV_WARNINGS) -fwritable-strings -I$(INTERBASE)/include
CFLAGS= -g -DUNIX -DSINIXZ $(DEV_WARNINGS) -fwritable-strings -I$(INTERBASE)/include
endif
DEBUG_OBJECTS= $(DEBUG_OBJECTS)
SHRLIB_DIR= $(SHRLIB_DIR)
VERSION_FLAG= $(VERSION_FLAG)
CFLAGS= $(CFLAGS) -D$(SYSTEM)
UDF_LINK_CMD= $(CC)
UDF_CFLAGS= -fPIC -mieee-fp
UDF_LFLAGS= -shared
UDF_SHRLIBS= $(SHRLIB_DIR) -lgds -lm -lc -mieee-fp -ldl -lcrypt
ACCESS_METHOD= gdslib.unixware pipe
BACKEND_BRIDGE_MISC= head5.o allp.o
#BIN_PATH= /usr/gds/bin
BRIDGE_MISC= head5.o allp.o
CHMOD_VAL= 666
CURSES_LIB= -lcurses
DSQL_P_OBJS= dsql_p_objects
FORM_OBJECTS= noform.o
FUNCTIONS= functions.bin
GDS_LINK= $(GDSSHR_LINK)
GDSLIB_BACKEND= source/jrd/gds_b.a
GDSLIB_LINK= -Lsource/jrd -lgds_b -lsocket -lnsl -lresolv -lgen -ldl
GDSSHR= source/interbase/lib/gds.so.0
GDSSHR_LINK= $(SHRLIB_DIR) -lgds -lsocket -lnsl -lresolv -lgen
HLPDIR= source/qli/
INTL= intl
INTL_CFLAGS= $(CFLAGS)
INTL_LD_LINE= $(LD) -G -z text -o gdsintl
#INTL_P_OBJS= intl
INTL_PIC_FLAGS= $(PIC_FLAGS)
INTL_TARGET= intl_shr_objs
IO_OBJECTS= unix.o
IO_P_OBJECTS= unix.bin
#JRD_MISC_OBJECTS= source/jrd/sun_ftn.o
#JRD_J_MISC_OBJECTS= source/jrd/sun_ftn.j
#JRD_P_MISC_OBJECTS= source/jrd/sun_ftn.bin source/jrd/nodebug.bin
JRD_MISC_OBJECTS= stubs.o
JRD_P_MISC_OBJECTS= nodebug.bin stubs.bin
LANG_OBJECTS= ada.o ftn.o cob.o
LANGUAGES= cc cxx microfocus_cob make15 gdl1
#LANGUAGES= cc cxx ada microfocus_cob make16 gdl1 sun_ftn
LD_LIBS= -ldl
LD_OPTS= -G -h
LOCK_JRD_MISC=
#LOCK_MANAGER= manager
LOCK_MANAGER=
MARION_DB= -d source/marion.gdb
NSL_LIB= -lnsl
PIC_FLAGS= $(CFLAGS) -fPIC
PIPE= gds.a gds_pipe
REG_HELP= isc_ins_hlp.dat
REMOTE_GDSSHR= $(GDSSHR)
REMOTE_GDSSHR_LINK= $(SERVER_LINK)
REMOTE_P_OBJS= rem_p_objects
SCREEN_LIBS= -lcurses
SERVER_LINK= $(GDSSHR_LINK)
SPECIAL_OPT= sh source/special_opt
SOCKET_LIB= -lsocket -lnsl
UTILITIES= drop
VT100_FLAGS= -DBSD_COMP
INET_SERVER_DEST= source/interbase/bin/gds_inet_server
DNET_SERVER_DEST= source/interbase/bin/gds_dnet_server
AMBX_SERVER_DEST= source/interbase/bin/gds_server
INET_LIB_DEST= source/interbase/lib/gds_inet_server.a
DNET_LIB_DEST= source/interbase/lib/gds_dnet_server.a
SH= sh -c
RM= rm -f
CHMOD= chmod
CHMOD_6= chmod 666
CHMOD_7= chmod 777
CHMOD_S7= chmod 06777
MV= mv -f
TOUCH= touch
CP= cp
ECHO= echo
QUIET_ECHO= @echo
CD= cd
CAT= cat
AR= ar r
EXPAND_DBNAME= @echo No need to expand...
COMPRESS_DBNAME= @echo No need to compress...
ARCH_EXT= .a
EXEC_EXT=
V3PRINTER= source/lock/printv3.o

193
builds/posix/prefix.solx86 Normal file
View File

@ -0,0 +1,193 @@
# The contents of this file are subject to the Interbase Public
# License Version 1.0 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy
# of the License at http://www.Inprise.com/IPL.html
#
# Software distributed under the License is distributed on an
# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
# or implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code was created by Inprise Corporation
# and its predecessors. Portions created by Inprise Corporation are
# Copyright (C) Inprise Corporation.
#
# All Rights Reserved.
# Contributor(s): __Konstantin Kuznetsov___________________________________.
# This file can be used to build FB on Solaris 8 x 86 with gcc 2.95 and bash
#
# Use SOLX86 to identify x86 version of Solaris. Neil McCalden
#
# $Id: prefix.solx86,v 1.1 2002-07-29 15:04:06 skywalker Exp $
#
# Start of file prefix.solaris X 86 : $(VERSION) $(PLATFORM)
ifdef IsProdTypeBuild
DEBUG_Sources= nodebug.cpp
CFLAGS:= -m486 -DPROD_BUILD $(CFLAGS)
else
# Commented out since new memory model doesn't work with it.
DEBUG_Sources= nodebug.cpp
# DEBUG_Sources= grammar.c dbg.cpp dbt.cpp dmp.cpp
CFLAGS:= -ggdb -DDEV_BUILD $(CFLAGS)
endif
CFLAGS:= $(CFLAGS) -DSOLARIS -DSOLARIS26 -DSOLARIS_MT -DSOLX86 -DBSD_COMP -DEXACT_NUMERICS -Isource/interbase/include -Wall
#PROD_DEBUG_OBJECTS= nodebug.o
#PROD_SHRLIB_DIR= -L source/jrd -L source/interbase/lib
#PROD_VERSION_FLAG= -DPROD_BUILD
#PROD_CFLAGS= -O1 -mpentium
#DEV_SHRLIB_DIR= -L source/jrd -L source/interbase/lib
#DEV_VERSION_FLAG= -DDEV_BUILD
#DEV_CFLAGS=
#DEBUG_OBJECTS= $($(VERSION)_DEBUG_OBJECTS)
#SHRLIB_DIR= $($(VERSION)_SHRLIB_DIR)
#VERSION_FLAG= $($(VERSION)_VERSION_FLAG)
#CFLAGS_COMMON= $($(VERSION)_CFLAGS) -DSOLARIS -DSOLARIS26 -DSOLARIS_MT -DSOLX86 -DBSD_COMP -DEXACT_NUMERICS -Isource/interbase/include -w
#CFLAGS= $(CFLAGS_COMMON) $(SUPER_FLAG)
PIC_J_CFLAGS= $(CFLAGS) -DPIPE_IS_SHRLIB -fPIC
SPECIAL_OBJECTS= j
UDF_LINK_CMD= cc
UDF_CFLAGS= -fPIC
UDF_LFLAGS= -G -Bsymbolic
UDF_SHRLIBS= -lm -lc
SHRLIB_EXT= .so
# Purify related flags
PFLAGS = -messages=first -leaks-at-exit=yes
PDIR = `purify -print-home-dir`
PURIFY = purify $(PFLAGS)
PSTUBS = $(PDIR)/purify_stubs.a
# Quantify related flags
QFLAGS =
QDIR = `quantify -print-home-dir`
QUANTIFY = quantify $(QFLAGS)
QSTUBS = $(QDIR)/quantify_stubs.a
#NOTE: PIC_J_CFLAGS is special CFLAGS used to build PIPD_IS_SHRLIB modules
# to workaround the Solaris threading problems with signals
#NOTE: -Xt is ANSI C transition mode (default)
# -DBDS_COMP is for BSD Compatibility package and is used in <sys/ioctl.h>
ACCESS_METHOD= gdslib.solaris pipe
BACKEND_BRIDGE_MISC= head5.o allp.o
BIN_PATH= /netapp/apps/isc/bin
BRIDGE_MISC= head5.o allp.o
CHMOD_VAL= 666
DSQL_P_OBJS= dsql_p_objects
FORM_OBJECTS= form.o
FORM_TRN_OBJECTS= form_trn.o
FRED= fred
FUNCTIONS= functions.bin
GDS_LINK= $(GDSSHR_LINK)
GDS_PYXIS= gds_pyxis.a
GDSLIB_BACKEND= source/jrd/gds_b.a
# add -lgen to build on solaris before 2.6
GDSLIB_LINK= -Lsource/jrd -lgds_b -lsocket -lnsl -lthread -ldl
GDSSHR= source/interbase/lib/gdsmt.so.0
SOL_GDSSHR= $(GDSSHR)
# add -lgen to build on solaris before 2.6
GDSSHR_LINK= $(SHRLIB_DIR) -lgdsmt -lgds_pyxis -lthread
PIPE_GDSSHR= source/interbase/lib/gds.so.0
# add -lgen to build on solaris before 2.6
PIPE_GDSSHR_LINK= $(SHRLIB_DIR) -lgds -lgds_pyxis
HLPDIR= source/qli/
HOSTNAME= .`uname -n`
INCLUDES= include_so include_so_ada
INTL= intl
INTL_CFLAGS= $(CFLAGS)
INTL_LD_LINE= ld -G -o gdsintl
INTL_PIC_FLAGS= $(PIC_FLAGS)
INTL_TARGET= intl_shr_objs
IO_OBJECTS= unix.o $(STDIO)
IO_P_OBJECTS= unix.bin $(STDIO_P_OBJ)
JRD_MISC_OBJECTS= source/jrd/sun_ftn.o
JRD_J_MISC_OBJECTS= source/jrd/sun_ftn.j
JRD_P_MISC_OBJECTS= source/jrd/sun_ftn.bin source/jrd/nodebug.bin
LANG_OBJECTS= ada.o ftn.o cob.o
LANGUAGES= cc cxx ada sun_ada microfocus_cob make16 gdl1 sun_ftn
LD_LIBS= -lsocket -lnsl -lthread -ldl -lm
LD_LIBS_J= -lsocket -lnsl -ldl
LD_OPTS= -G -h
LOCK_JRD_MISC= source/jrd/thd.o
LOCK_MANAGER= ## no manager KLK
MARION_DB= -d source/marion.gdb
MUISQL= muisql
MUISQL_MU_LIB= -L /usr/gds.sogood/qa_tools/lib -lmu
MUISQL_LINK_OPTS= $(MUISQL_MU_LIB) $(PIPE_GDSSHR_LINK) -lm
PIC_FLAGS= $(CFLAGS) -fPIC
PIPE= gds.a.solaris gds_pipe
SCREEN_LIBS= -lcurses -ltermlib
CURSES_LIB= $(SCREEN_LIBS)
PYXIS= pyxis
PYXIS_MISC_OBJS= $(PYXIS_MISC)
PYXIS_P_MISC_OBJS= $(PYXIS_P_MISC)
PYXIS_OBJECTS= pyxis_objects
PYXIS_MISC_OBJECTS= $(PYXDIR)cdm.o $(PYXDIR)vt100.o $(PYXDIR)sun_ftn_pyxis.o
REG_HELP= isc_ins_hlp.dat
REMOTE_GDSSHR= $(GDSSHR)
REMOTE_GDSSHR_LINK= $(SERVER_LINK)
REMOTE_P_OBJS= rem_p_objects
SERVER_LINK= $(GDSSHR_LINK)
SETUP_ISC_LOCAL= ISC_USER=sysdba; ISC_PASSWORD=masterkey; export ISC_USER ISC_PASSWORD;
SETUP_ISC_REMOTE= ISC_USER=sysdba; ISC_PASSWORD=masterkey; export ISC_USER ISC_PASSWORD;
SPECIAL_OPT= source/special_opt
SO_NETWORK_LIB= -lnsl
SO_SOCKET_LIB= -lsocket
SO_THREAD_LIB= -lthread
SO_SUPER_GDSSHR= source/interbase/lib/gdsmt.so.1
STDIO= source/jrd/ib_stdio.o
STDIO_P_OBJ= source/jrd/ib_stdio.bin
SUPER_CLIENT_GDSSHR= $(SO_SUPER_GDSSHR)
SUPER_BACKEND= source/jrd/gds_ss.a
# add -lgen to build on solaris before 2.6
SUPER_LINK= -Lsource/jrd -lgds_ss -lsocket -lnsl -lthread -ldl
SUPER_SERVER=
UTILITIES=
WAL_P_OBJS= wal_p_objects
IO_Sources= unix.cpp
SUPER_SERVER_DEST= source/interbase/bin/ibserver
INET_SERVER_DEST= source/interbase/bin/gds_inet_server
DNET_SERVER_DEST= source/interbase/bin/gds_dnet_server
AMBX_SERVER_DEST= source/interbase/bin/gds_server
INET_LIB_DEST= source/interbase/lib/gds_inet_server.a
DNET_LIB_DEST= source/interbase/lib/gds_dnet_server.a
SH= bash -c
RM= rm -f
CHMOD= chmod
CHMOD_6= chmod 666
CHMOD_7= chmod 777
CHMOD_S7= chmod 06777
MV= mv -f
TOUCH= touch
CP= cp
ECHO= echo
QUIET_ECHO= @echo
CD= cd
CAT= cat
AR= ar r
EXPAND_DBNAME= @echo No need to expand...
COMPRESS_DBNAME= @echo No need to compress...
ARCH_EXT= .a
EXEC_EXT=
V3PRINTER= source/lock/printv3.o
# End of file prefix.solaris: $(VERSION) $(PLATFORM)