| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- # 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 certified 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 <[email protected]>
- #
- # Contributor(s):
- #
- #
- #
- #-----------------------------------------------------------
- # Amongst a number of makefiles some of the targets have
- # specific rules. Rather than duplicate the rules in a
- # number of makefiles, these have been included here.
- #
- # Hopefully this file is an intermediate step, on the way to
- # potentially a single makefile, or at least one per directory.
- # MOD 07-Oct-2002
- # This rule creates parse.cpp from parse.y
- # With make 4.3 this can be simplified with a simple group target (&:) dependency.
- $(OBJ)/dsql/parse.cpp $(SRC_ROOT)/include/gen/parse.h: $(OBJ)/.parse-gen-sentinel ;
- $(OBJ)/.parse-gen-sentinel: $(SRC_ROOT)/dsql/parse.y $(SRC_ROOT)/dsql/btyacc_fb.ske
- sed -n '/%type .*/p' < $< > $(GEN_ROOT)/types.y
- sed 's/%type .*//' < $< > $(GEN_ROOT)/y.y
- ($(BTYACC) -l -d -S $(SRC_ROOT)/dsql/btyacc_fb.ske $(GEN_ROOT)/y.y; echo $$? > $(GEN_ROOT)/y.status) 2>&1 | tee $(GEN_ROOT)/y.txt
- (exit `cat $(GEN_ROOT)/y.status`)
- sed -n -e "s/.*btyacc: \(.*conflicts.*\)/\1/p" $(GEN_ROOT)/y.txt > $(SRC_ROOT)/dsql/parse-conflicts.txt
- sed -i -e 's/#define \([A-Z].*\)/#define TOK_\1/' $(GEN_ROOT)/y_tab.h
- sed -i -e 's/#define TOK_YY\(.*\)/#define YY\1/' $(GEN_ROOT)/y_tab.h
- $(MV) $(GEN_ROOT)/y_tab.h $(SRC_ROOT)/include/gen/parse.h
- $(MV) $(GEN_ROOT)/y_tab.c $(OBJ)/dsql/parse.cpp
- touch $@
- # gpre_meta needs a special boot build since there is no database.
- $(SRC_ROOT)/gpre/gpre_meta.cpp: $(SRC_ROOT)/gpre/gpre_meta.epp
- $(GPRE_BOOT) -lang_internal $(GPRE_FLAGS) $< $@
- # Explicit dependence on generated header (parser)
- $(OBJ)/dsql/Parser.o $(OBJ)/dsql/Keywords.o $(OBJ)/dsql/dsql.o: $(SRC_ROOT)/include/gen/parse.h
- # Special cases for building cpp from epp
- $(OBJ)/dsql/metd.cpp: $(SRC_ROOT)/dsql/metd.epp
- $(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $< $@
- $(OBJ)/dsql/DdlNodes.cpp: $(SRC_ROOT)/dsql/DdlNodes.epp
- $(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $< $@
- $(OBJ)/dsql/PackageNodes.cpp: $(SRC_ROOT)/dsql/PackageNodes.epp
- $(GPRE_CURRENT) $(JRD_GPRE_FLAGS) $< $@
- # Adding resources as prerequisite for some files
- $(FilesToAddVersionInfo): $(GEN_ROOT)/jrd/version.res
- $(FilesToAddDialog): $(GEN_ROOT)/remote/os/win32/window.res
- $(FilesToAddDialog2): $(GEN_ROOT)/iscguard/iscguard.res
- # Explicit dependence of resource script
- $(GEN_ROOT)/remote/os/win32/window.res: $(SRC_ROOT)/remote/os/win32/window.rc $(SRC_ROOT)/remote/os/win32/window.rh \
- $(SRC_ROOT)/jrd/version.rc $(SRC_ROOT)/jrd/build_no.h $(SRC_ROOT)/remote/os/win32/property.rc \
- $(SRC_ROOT)/remote/os/win32/property.rh
- $(GEN_ROOT)/iscguard/iscguard.res: $(SRC_ROOT)/iscguard/iscguard.rc $(SRC_ROOT)/iscguard/iscguard.rh \
- $(SRC_ROOT)/jrd/version.rc
- .PHONY: FORCE
- # This target is used in the generated dependency xxx.d files which are
- # automatically created from the .cpp files. To simplify the build
- # process, if the .d files does not yet exist, a line is written
- # of the form fred.o : FORCE to ensure that fred.cpp will be
- # recompiled MOD 7-Oct-2002
- FORCE:
|