CC = g++
LD = g++

CFLAGS= -g -Wall -Wstrict-prototypes
LDFLAGS= -g
OBJS =  param_conditional.o \
	process_conditional.o \
	param_types.o \
	parser.o \
	validity_checks.o \
	rule.o \
	main.o \
	logger.o

PROG = main
RM = /bin/rm -f

all: $(PROG)

# linking rule remains the same as before.
$(PROG): $(OBJS)
	$(LD) $(LDFLAGS) $(OBJS) -o $(PROG)

# now comes a meta-rule for compiling any "C" source file.
%.o: %.cpp
	$(CC) $(CFLAGS) -c $<

clean:
	@echo "cleaning files '$(OBJS)' '$(PROG)'"
	@$(RM) $(OBJS) $(PROG)
