# # MICO --- an Open Source CORBA implementation # Copyright (c) 1997-2008 by The Mico Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # For more information, visit the MICO Home Page at # http://www.mico.org/ # include ../MakeVars LDFLAGS := -L. -L../idl -L../orb $(LDFLAGS) CXXFLAGS := -I. -I../idl -I../include $(PCHFLAGS) $(CXXFLAGS) LDLIBS := -lidl $(LDMICOIR) $(LDMICO) $(CONFLIBS) PLATFORM_LIBS = ifeq ($(HAVE_CYGWIN), yes) PLATFORM_LIBS := $(PLATFORM_LIBS) $(CONFLIBS) ../orb/libmico$(VERSION).$(SOEXT) endif ifeq ($(HAVE_EXCEPTIONS), yes) NOPICFLAGS := $(NOPICFLAGS) $(EHOPTFLAGS) else NOPICFLAGS := $(NOPICFLAGS) $(NOEHFLAGS) endif ifeq ($(HAVE_SHARED_EXCEPTS), yes) PICFLAGS := $(PICFLAGS) $(EHOPTFLAGS) else PICFLAGS := $(PICFLAGS) $(NOEHFLAGS) endif STATIC_OBJS=ir_skel.o ir_impl.o ifeq ($(USE_CCM), yes) STATIC_OBJS := $(STATIC_OBJS) ir3.o ir3_skel.o endif ifeq ($(HAVE_FINAL), yes) STATIC_OBJS := ir_all.o endif SHARED_OBJS=$(STATIC_OBJS:.o=.pic.o) # mingw hack ifeq ($(OSTYPE), windows) ifeq ($(HAVE_SHARED), yes) HAVE_SHARED := no HAVE_STATIC := yes endif endif # normal rules all: lib prg prg: ird ifeq ($(HAVE_SHARED), yes) ifeq ($(HAVE_STATIC), yes) lib: .depend libmicoir$(VERSION).$(SOEXT) libmicoir$(VERSION).a else lib: .depend libmicoir$(VERSION).$(SOEXT) endif else lib: .depend libmicoir$(VERSION).a endif ird: main.o ../idl/libidl.a ../orb/$(LIBMICO) $(LIBMICOIR) $(CXX) $(CXXFLAGS) $(LDFLAGS) main.o -L. $(LDLIBS) ../idl/libidl.a -o ird $(POSTLD) $@ libmicoir$(VERSION).$(SOEXT): $(SHARED_OBJS) $(RM) $@ ifeq ($(HAVE_REPO), yes) -$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(SHARED_OBJS) $(LDFLAGS) \ $(LDMICO) $(CONFLIBS) endif ifeq ($(HAVE_PRELINK), yes) $(CXX) $(PRELINK_FLAG) $(SHARED_OBJS) $(LDFLAGS) \ $(LDMICO) $(CONFLIBS) endif $(LDSO) -o libmicoir$(VERSION) $(SHARED_OBJS) -L../libs $(LDMICO) $(PLATFORM_LIBS) $(IDIRCMD) ../libs cd ../libs; $(RM) $@; $(LN) ../ir/$@ . libmicoir$(VERSION).a: $(STATIC_OBJS) ifeq ($(HAVE_REPO), yes) -$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(STATIC_OBJS) $(LDFLAGS) \ $(LDMICO) $(CONFLIBS) endif ifeq ($(HAVE_PRELINK), yes) $(CXX) $(PRELINK_FLAG) $(CXXFLAGS) $(CPPFLAGS) $(STATIC_OBJS) \ $(LDFLAGS) $(LDMICO) endif $(AR) $(ARFLAGS) $@ $(STATIC_OBJS) $(RANLIB) $@ $(IDIRCMD) ../libs cd ../libs; $(RM) $@; $(LN) ../ir/$@ . generate: -mv ir_skel.cc ir_skel.cc.backup -cd ../orb; mv ir.cc ir.cc.backup -cd ../orb; mv ir_base.cc ir_base.cc.backup -cd ../include/mico; mv ir.h ir.h.backup -cd ../include/mico; mv ir_base.h ir_base.h.backup $(IDL) --no-poa-ties --windows-dll mico -B.. \ --any --mico-core --name ir_base ../include/mico/ir_base.idl $(IDL) --no-poa-ties --c++-skel --windows-dll mico --any --name ir \ -B.. --mico-core ../include/mico/ir.idl $(IDL) --no-poa-ties --c++-skel --any --name ir3 -B.. \ --hh-prefix mico ../include/mico/ir3.idl sleep 1 $(PATCH) < ir.cc.diffs $(RM) ir.*.orig ir_base.*.orig mv ir.h ir_base.h ir3.h ../include/mico mv ir.cc ir_base.cc ../orb ungenerate: -mv ir_skel.cc.backup ir_skel.cc -mv ../orb/ir.cc.backup ../orb/ir.cc -mv ../orb/ir_base.cc.backup ../orb/ir_base.cc -mv ../include/mico/ir.h.backup ../include/mico/ir.h -mv ../include/mico/ir_base.h.backup ../include/mico/ir_base.h diffs: mkdir orig; cd orig; \ idl --no-poa-ties --windows-dll mico -B../.. \ --any --mico-core --name ir_base ../../include/mico/ir_base.idl cd orig; $(IDL) --no-poa-ties --c++-skel --windows-dll mico --any \ -B../.. --mico-core --name ir ../../include/mico/ir.idl $(RM) ir.cc.diffs cd ../include/mico; diff -c ../../ir/orig/ir.h ir.h \ > ../../ir/ir.cc.diffs || true cd ../include/mico; diff -c ../../ir/orig/ir_base.h ir_base.h \ >> ../../ir/ir.cc.diffs || true diff -c orig/ir.cc ir.cc >> ir.cc.diffs || true diff -c orig/ir_skel.cc ir_skel.cc >> ir.cc.diffs || true diff -c orig/ir_base.cc ir_base.cc >> ir.cc.diffs || true $(RM) -rf orig # cleaning clean: -$(RM) libs libmicoir* ird -$(RM) *.o *.o0 *.a *~ *.$(SOEXT) *.exe *.rpo *.ii *.ti *.objid -$(RM) .depend TAGS core nohup.out install: $(IDIRCMD) $(INSTDIR)/bin $(IBINCMD) ird $(INSTDIR)/bin ifeq ($(HAVE_STATIC), yes) $(ILIBCMD) libmicoir$(VERSION).a $(INSTDIR)/lib endif ifeq ($(HAVE_SHARED), yes) $(ILIBCMD) libmicoir$(VERSION).$(SOEXT) $(INSTDIR)/lib endif install-cd: install ifeq (.depend, $(wildcard .depend)) include .depend endif .depend : echo '# Module dependencies' > .depend $(MKDEPEND) $(CXXFLAGS) $(CPPFLAGS) *.cc >> .depend