* harbour/config/rules.cf
* harbour/config/dos/bcc16.cf
! fixed wrong automatic macros $? was used instead of $<
* harbour/config/dir.cf
* optional new DIR_RULE setting for easier testing
* harbour/config/c.cf
+ added support for setting dependencies for files which needs
grammar header files generated by bison (YACC_DEPEND)
* harbour/source/macro/Makefile
* marked macrolex.c as YACC_DEPEND dependent
* harbour/source/compiler/Makefile
* marked complex.c as YACC_DEPEND dependent
49 lines
1.1 KiB
CFEngine3
49 lines
1.1 KiB
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
C_OBJS = $(C_SOURCES:.c=$(OBJ_EXT)) $(CPP_SOURCES:.cpp=$(OBJ_EXT))
|
|
|
|
C_MAIN_OBJ = $(C_MAIN:.c=$(OBJ_EXT))
|
|
|
|
ifdef YACC_SOURCE
|
|
YACC_BASE = $(YACC_SOURCE:.y=)
|
|
YACC_C = $(YACC_BASE)y.c
|
|
YACC_H_TMP = $(YACC_C:.c=.h)
|
|
YACC_H = y_tab.h
|
|
YACC_OUTPUT = $(YACC_C:.c=.out)
|
|
YACC_OBJ = $(YACC_C:.c=$(OBJ_EXT))
|
|
YACC_HB_H := $(foreach h, $(YACC_HEADERS), $(HB_INC_COMPILE)/$(h))
|
|
ifneq ($(YACC_DEPEND),)
|
|
$(foreach f, $(YACC_DEPEND), $(f:.c=$(OBJ_EXT))) : $(YACC_C)
|
|
endif
|
|
endif
|
|
|
|
ifdef LEX_SOURCE
|
|
LEX_BASE = $(LEX_SOURCE:.l=)
|
|
LEX_C = $(LEX_BASE)l.c
|
|
LEX_OBJ = $(LEX_C:.c=$(OBJ_EXT))
|
|
LEX_HB_H := $(foreach h, $(LEX_HEADERS), $(HB_INC_COMPILE)/$(h))
|
|
endif
|
|
|
|
ALL_C_OBJS = $(YACC_OBJ) $(LEX_OBJ) $(C_OBJS) $(C_MAIN_OBJ)
|
|
|
|
$(YACC_OBJ) : $(YACC_C)
|
|
|
|
ifeq ($(HB_REBUILD_PARSER),yes)
|
|
$(YACC_C) : ../../$(YACC_SOURCE) $(YACC_HB_H)
|
|
$(YACC) $(YACC_FLAGS) -o$@ $<
|
|
else
|
|
ifeq ($(DIRSEP),)
|
|
DIRSEP = /
|
|
endif
|
|
%y.c : ../../%.yyc
|
|
$(CP) $(subst /,$(DIRSEP),$<) $@
|
|
$(CP) $(subst /,$(DIRSEP),$(<:.yyc=.yyh)) $(@:.c=.h)
|
|
endif
|
|
|
|
$(LEX_OBJ) : $(LEX_C)
|
|
|
|
$(LEX_C) : ../../$(LEX_SOURCE) $(LEX_HB_H)
|
|
$(LEX) $(LEX_FLAGS) -o$@ $<
|