# # $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