47 lines
927 B
CFEngine3
47 lines
927 B
CFEngine3
#
|
|
# $Id$
|
|
#
|
|
|
|
# How to run yacc.
|
|
YACC = bison
|
|
YACC_FLAGS = -d
|
|
|
|
# How to run lex.
|
|
LEX = flex
|
|
LEX_FLAGS = -i -8
|
|
|
|
# How to run Harbour.
|
|
HB = harbour$(EXE_EXT)
|
|
HB_FLAGS = -n -q -I$(TOP) -I$(HB_INC_DIR)
|
|
|
|
# The rule to link an executable.
|
|
LD_RULE = $(LD) $(CFLAGS) $(LD_OUT)$@ $^ $(LDFLAGS) $(LINKLIBS)
|
|
|
|
|
|
# Eliminate these rules.
|
|
|
|
%.c : %.y
|
|
|
|
%.c : %.l
|
|
|
|
|
|
# Rule to generate an object file from a C source file in the parent.
|
|
%$(OBJ_EXT) : $(GRANDP)%.c
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $? $(CC_OUT)$(subst .c,$(OBJ_EXT),$(subst $(GRANDP),,$?))
|
|
|
|
# Rule to generate an object file from a C source file.
|
|
%$(OBJ_EXT) : %.c
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $? $(CC_OUT)$(?:.c=$(OBJ_EXT))
|
|
|
|
# Rule to generate an executable file from an object file.
|
|
%$(EXE_EXT) : %$(OBJ_EXT)
|
|
$(LD_RULE)
|
|
|
|
# Rule to generate a C file from a PRG file.
|
|
%.c : $(GRANDP)%.prg
|
|
$(HB) $? $(HB_FLAGS)
|
|
|
|
# Generic rule to clean up.
|
|
clean::
|
|
-$(RM) *.bak *.obj core *~ *.o
|