# # Copyright (C) 2022 Alessandro Iezzi # # This file is part of marcus. # # desiderio 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 3 of the License, or # (at your option) any later version. # # desiderio 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 desiderio. If not, see . # OUT = marcus CC = cc LEX = lex YACC = yacc SRC != find * -name '*c' OBJ = ${SRC:.c=.o} LEX_SRC != find * -name '*l' LEX_OBJ = ${LEX_SRC:.l=.c} OBJ += ${LEX_SRC:.l=.o} YACC_SRC != find * -name '*y' YACC_C = ${YACC_SRC:.y=.c} YACC_H = ${YACC_SRC:.y=.h} SRC += ${YACC_C} ${OUT}: ${YACC_C} ${LEX_OBJ} ${OBJ} @echo -- Generating ${OUT} ${CC} -o ${OUT} ${OBJ} .l.c: ${LEX_SRC} @echo -- Generating scanner files ${LEX} -o $@ $> .c.o: ${CC} -o $@ -c $> .y.c: ${YACC_SRC} @echo -- Generating parser files ${YACC} -o $@ -d $> clean: rm -f ${OBJ} ${OUT} ${LEX_OBJ} ${YACC_C} ${YACC_H}