.SUFFIXES: .o .C .c  .cpp

include mkfiles

##################################################################

include ../../sys/config/mkflags

##################################################################

CPPOBJECTS =$(CPPOBJS:%= $(OBJDIR)/%)
CCOBJECTS =$(CCOBJS:%= $(OBJDIR)/%)
CPPOBJECTS2 =$(CPPOBJS:%= $(OBJDIR2)/%)
CCOBJECTS2 =$(CCOBJS:%= $(OBJDIR2)/%)

#.c.o:
#	$(CC) $(C++FLAGS) -c $(*F).c  -o $(OBJDIR)/$*.o
#
#.C.o:
#	$(CXX) $(C++FLAGS) -c $(*F).C   -o $(OBJDIR)/$*.o
#
#.cpp.o:
#	$(CXX) $(C++FLAGS) -c $(*F).cpp -o $(OBJDIR)/$*.o
#

LIBDLLBASE  = $(LIBNAME)
#LIBDLL  = $(LIBNAME).$(VERSION).d
#LIBDLL2 = $(LIBNAME).$(VERSION)
LIBDLL  = libwsmacd.dylib
LIBDLL2 = libwsmac.dylib
LIBST   = $(LIBNAMED2)
LIBST2  = $(LIBNAME2)

#all: $(LIBDIR)/$(LIBDLL) $(LIBDIR)/$(LIBDLL2) $(LIBDIR)/$(LIBST) $(LIBDIR)/$(LIBST2)
all: $(LIBDIR)/$(LIBDLL2)
static: $(LIBDIR)/$(LIBST2)
static-debug: $(LIBDIR)/$(LIBST)
debug: $(LIBDIR)/$(LIBDLL)
runtime: $(LIBDIR)/$(LIBDLL2)

$(LIBDIR)/$(LIBDLL): $(CPPOBJECTS) $(CCOBJECTS)
	$(CXX) -r -keep_private_externs -nostdlib -o debug/master_obj.o $(CPPOBJECTS) $(CCOBJECTS) $(XLIBS)
	$(CXX) -dynamiclib -current_version $(VERSION) -compatibility_version $(VERSION) -o $(LIBDLL) debug/master_obj.o $(XLIBS) -L../../lib -lwsd  /usr/local/lib/libjpeg.a /usr/local/lib/libpng.a -lz -framework carbon
	cp $(LIBDLL) ../../lib/$(LIBDLL)
#	cd $(LIBDIR);\rm -f $(LIBNAMED);\ln -s $(LIBDLL) $(LIBNAMED)
$(LIBDIR)/$(LIBDLL2): $(CPPOBJECTS2) $(CCOBJECTS2)
	$(CXX) -r -keep_private_externs -nostdlib -o runtime/master_obj.o $(CPPOBJECTS2) $(CCOBJECTS2) $(XLIBS)
	$(CXX) -dynamiclib -current_version $(VERSION) -compatibility_version $(VERSION) -o $(LIBDLL2) runtime/master_obj.o $(XLIBS) -L../../lib -lws /usr/local/lib/libjpeg.a /usr/local/lib/libpng.a -lz -framework carbon
	cp $(LIBDLL2) ../../lib/$(LIBDLL2)
#	cd $(LIBDIR);\rm -f $(LIBNAME);\ln -s $(LIBDLL2) $(LIBNAME)

$(LIBDIR)/$(LIBST): $(CPPOBJECTS) $(CCOBJECTS)
	$(AR) -rv $(LIBDIR)/$(LIBST) $(CPPOBJECTS) $(CCOBJECTS)
	$(RANLIB) $(LIBDIR)/$(LIBST)

$(LIBDIR)/$(LIBST2): $(CPPOBJECTS2) $(CCOBJECTS2)
	$(AR) -rv $(LIBDIR)/$(LIBST2) $(CPPOBJECTS2) $(CCOBJECTS2)
	$(RANLIB) $(LIBDIR)/$(LIBST2)


$(OBJDIR)/%.o:%.cpp
	$(CXX) $(C++FLAGS) $(XINCS) $(KINPUT2) -c $(*F).cpp -o $(OBJDIR)/$*.o
$(OBJDIR)/%.o:%.c
	$(CC) $(C++FLAGS) $(XINCS) $(KINPUT2) -c $(*F).c   -o $(OBJDIR)/$*.o
$(OBJDIR2)/%.o:%.cpp
	$(CXX) $(C++FLAGS2) $(XINCS) $(KINPUT2) -c $(*F).cpp -o $(OBJDIR2)/$*.o
$(OBJDIR2)/%.o:%.c
	$(CC) $(C++FLAGS2) $(XINCS) $(KINPUT2) -c $(*F).c   -o $(OBJDIR2)/$*.o

#$(CPPOBJECTS):
#	$(CXX) $(C++FLAGS) -c $(*F).cpp -o $*.o
#
#$(CCOBJECTS):
#	$(CXX) $(C++FLAGS) -c $(*F).c -o $*.o


clean:
	\rm -f $(CPPOBJECTS) $(CCOBJECTS) $(CPPOBJECTS2) $(CCOBJECTS2) *.bak
	\rm -f $(LIBDIR)/$(LIBDLL) $(LIBDIR)/$(LIBDLL2) 
	\rm -f $(LIBDIR)/$(LIBST) $(LIBDIR)/$(LIBST2)
	\rm -f $(LIBDIR)/$(LIBNAMED)
	\rm -f $(LIBDIR)/$(LIBNAME)
	\rm -f $(LIBDLL)
	\rm -f $(LIBDLL2)
	\rm -f runtime/master_obj.o
	\rm -f debug/master_obj.o



