93 lines
2.5 KiB
Makefile
93 lines
2.5 KiB
Makefile
#This file is part of SECONDO.
|
|
|
|
#Copyright (C) 2004, University in Hagen, Department of Computer Science,
|
|
#Database Systems for New Applications.
|
|
|
|
#SECONDO is free software; you can redistribute it and/or modify
|
|
#it under the terms of the GNU General Public License as published by
|
|
#the Free Software Foundation; either version 2 of the License, or
|
|
#(at your option) any later version.
|
|
|
|
#SECONDO 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 General Public License for more details.
|
|
|
|
#You should have received a copy of the GNU General Public License
|
|
#along with SECONDO; if not, write to the Free Software
|
|
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
CURRENT_ALGEBRA := SymbolicTrajectoryAlgebra
|
|
|
|
ALGEBRA_DEPENDENCIES := TrieAlgebra
|
|
|
|
# inlcude global definitions
|
|
include ../../makefile.env
|
|
|
|
|
|
|
|
# expand compile flags if necessary
|
|
CCFLAGS +=
|
|
PARSEFLAGS = -std=c++17
|
|
|
|
OBJECTS += scan.o parse.o PatternRegExParser.o PatternRegExScanner.o
|
|
|
|
BASE:=PatternParser
|
|
|
|
# create objects and algebra library. The values for the variables
|
|
# OBJECTS and LIBOBJ are computed automatically by makefile.env
|
|
.PHONY: all
|
|
all: check_dependencies $(OBJECTS) $(LIBOBJ)
|
|
|
|
check_dependencies:
|
|
$(check-algebra-dependencies)
|
|
|
|
|
|
# include pre-computed dependencies
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
-include $(DEP_FILES)
|
|
endif
|
|
|
|
.PHONY: deps
|
|
deps: $(DEP_FILES)
|
|
|
|
# generic rule for creating a library
|
|
$(LIBOBJ): $(OBJECTS)
|
|
$(create-lib)
|
|
|
|
|
|
scan.o: lex.pattern.c
|
|
$(CPPC) -c -fPIC -ggdb -o $@ $< $(DEFAULTCCFLAGS)
|
|
|
|
lex.pattern.c: $(BASE).l parse.o
|
|
flex $(BASE).l
|
|
|
|
parse.o: $(BASE).tab.c
|
|
$(CPPC) -c $(PARSEFLAGS) -fPIC -ggdb -o $@ $< -lstd -I ../../include -I ../../Tools/ListsAndTables -I $(BDB_INCLUDE_DIR) $(ALL_ALGEBRA_DIR_INCLUDE_FLAGS) $(DEFAULTCCFLAGS)
|
|
|
|
|
|
$(BASE).tab.c: $(BASE).y
|
|
bison -v -d $(BASE).y
|
|
|
|
PatternRegExScanner.o: PatternRegExScanner.c
|
|
$(CC) -fPIC -c -I../../include -o $@ $<
|
|
|
|
PatternRegExScanner.c: PatternRegExScanner.l PatternRegExParser.y.c
|
|
$(LEX) -o $@ $<
|
|
|
|
PatternRegExParser.o: PatternRegExParser.y.c
|
|
$(CC) -fPIC -x c++ -c -o $@ -I../../ -I../../include $<
|
|
|
|
PatternRegExParser.y.c: PatternRegExParser.y
|
|
$(YACC) -d -o $@ $<
|
|
|
|
|
|
# generic rule for cleaning all generated files
|
|
.PHONY: clean
|
|
clean:
|
|
$(clean-algebra)
|
|
rm -f $(BASE).tab.c parse.o lex.pattern.c scan.o PatternRegExParser.o PatternRegExScanner.o mini $(BASE).tab.h $(BASE).output PatternRegExParser.y.c PatternRegExScanner.c PatternRegExParser.y.h
|
|
|
|
|
|
|