# load platform dependent settings (compiler, flags, libs...)
ARCH = $(shell uname -s)
ifeq ($(ARCH), HP-UX)
ARCH=HPUX
endif
include $(ARCH).def

# load project include and library settings
include Makefile.inc

INC = $(PROJECT_INC) $(ARCH_INC)
CPPFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)
CFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)

LDFLAGS = $(PROJECT_LIB) $(ARCH_LDFLAGS)
LDLIBS =  $(ARCH_LIB)

OBJDIR = .
SRCDIR = .
LIBDIR = .

# extend this for other object files
OBJS = $(patsubst %.cc, $(OBJDIR)/%.o, $(filter %.cc, $(CPP_source)))
OBJS += $(patsubst %.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(CPP_source)))
OBJS += $(patsubst %.C, $(OBJDIR)/%.o, $(filter %.C, $(CPP_source)))
OBJS += $(patsubst %.c, $(OBJDIR)/%.o, $(filter %.c, $(C_source)))

.SUFFIXES: .cc .cpp .C .c .l _m.cc
# implicit rules for *.o files
$(OBJDIR)/%.o : $(SRCDIR)/%.cc
	$(CXX) -c $(CPPFLAGS) -o $@ $<
$(OBJDIR)/%.o : $(SRCDIR)/%.cpp
	$(CXX) -c $(CPPFLAGS) -o $@ $<
$(OBJDIR)/%.o : $(SRCDIR)/%.C
	$(CXX) -c $(CPPFLAGS) -o $@ $<

# other implicit rules
$(OBJDIR)/%.o : $(SRCDIR)/%.c
	$(CC) -c $(CFLAGS) -o $@ $<


default: jwdogtst

all: jwdogtst

jwdogtst: $(OBJS) 
	$(LINK) -o jwdogtst $(OBJS) $(LDFLAGS)

clean:
	rm -rf jwdogtst
	rm -rf *.o core *~

install:
	cp jwdogtst /usr/bin
