# # MICO --- an Open Source CORBA implementation # Copyright (c) 1997-2010 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 CXXFLAGS := -I../include $(PCHFLAGS) $(CXXFLAGS) ifeq ($(OSTYPE), windows) ifeq ($(HAVE_SHARED), yes) CXXFLAGS := -DBUILD_MICO_DLL $(CXXFLAGS) endif endif PLATFORM_LIBS = ifeq ($(HAVE_CYGWIN), yes) ifeq ($(USE_CSL2), yes) PLATFORM_LIBS := $(PLATFORM_LIBS) -lssl -lcrypto else ifeq ($(USE_CSIV2), yes) PLATFORM_LIBS := $(PLATFORM_LIBS) -lssl -lcrypto else ifeq ($(HAVE_SSL), yes) PLATFORM_LIBS := $(PLATFORM_LIBS) -lssl -lcrypto endif endif endif endif ifeq ($(HAVE_ORB_EXCEPTS), no) CXXFLAGS := $(CXXFLAGS) $(NOEHFLAGS) -DMICO_CONF_NO_EXCEPTIONS else 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 endif EH_SRCS = except2.cc UNI_SRCS = uni_base64.cc uni_unicode.cc uni_fromuni.cc uni_touni.cc PI_SRC = pi.o pi_impl.o typecode_seq.o MT_SRCS = os-thread.cc operation.cc message.cc \ mt_dispatcher.cc mt_manager.cc TIME_SRC = timebase.cc ###ras CSL2_SRCS = security/security.o \ security/securitylevel1.o \ security/securitylevel1_impl.o \ security/securitylevel2.o \ security/securitylevel2_impl.o \ security/audit_impl.o \ security/SecurityAdmin.o \ security/SecurityAdmin_impl.o \ security/AuditClientIntercept.o \ security/AuditOptions.o \ security/AuditServIntercept.o \ security/ODMConfig.o \ security/DomainManager.o \ security/odm.o \ security/odm_impl.o \ security/DomainManager_impl.o \ security/AccessConfig.o \ security/RightsConfig.o \ security/AuditConfig.o #karel CSIV2_SRCS = security/csi_base.cc security/csi.cc security/csiiop.cc \ security/gssup.cc security/csiv2.cc security/csiv2_impl.cc SL3_SRCS = security/atlas.cc \ security/sl3pm.cc security/sl3cm.cc security/sl3om.cc \ security/securitylevel3.cc security/transportsecurity.cc \ security/transportsecurity_p.cc \ security/sl3aqargs.cc security/sl3tcpip.cc security/sl3tls.cc \ security/sl3aqargs_p.cc security/sl3csi.cc security/userpassword.cc \ security/trust.cc security/sl3authorization.cc security/sl3ipc.cc \ security/sl3omext.cc \ security/sl3pm_impl.cc \ security/securitylevel3_impl.cc security/transportsecurity_impl.cc \ security/sl3tcpip_impl.cc security/sl3aqargs_p_impl.cc \ security/sl3aqargs_impl.cc security/sl3utils.cc security/sl3csi_impl.cc \ security/sl3tls_impl.cc security/sl3ipc_impl.cc security/sl3cmdext.cc ifeq ($(HAVE_SNACC), yes) ifeq ($(HAVE_SMP), yes) SL3_SRCS := $(SL3_SRCS) security/sl3ac.cc security/acext.cc endif endif MESSAGING_SRCS = messaging.cc messaging_impl.cc THREADING_POLICIES_SRCS = mtpolicy.cc mtpolicy_impl.cc ifeq ($(HAVE_MEMCHECK), yes) SRCS = memcheck.cc ifeq ($(USE_MEMTRACE), yes) SRCS := $(SRCS) memtrace.cc endif endif ifeq ($(HAVE_FINAL), no) ifeq ($(OSTYPE), windows) SRCS := $(SRCS) os-windows.cc else SRCS := $(SRCS) os-unix.cc endif endif ifeq ($(HAVE_FINAL), yes) SRCS := orb_all.cc $(SRCS) $(EH_SRCS) $(UNI_SRCS) STATIC_OBJS = $(SRCS:.cc=.o) else SRCS := $(SRCS) dii.cc typecode.cc any.cc codec.cc buffer.cc context.cc \ except.cc dispatch.cc string.cc object.cc address.cc ior.cc \ orb.cc dsi.cc transport.cc transport/tcp.cc transport/udp.cc transport/unix.cc \ iop.cc util.cc basic_seq.cc fast_array.cc \ ssl.cc fixed.cc codeset.cc queue.cc static.cc \ current.cc policy_impl.cc service_info.cc ioptypes.cc ssliop.cc \ value.cc valuetype.cc valuetype_impl.cc dynany_impl.cc \ policy2.cc tckind.cc orb_excepts.cc policy.cc poa.cc poa_base.cc \ poa_impl.cc dynany.cc $(UNI_SRCS) $(EH_SRCS) $(PI_SRC) $(TIME_SRC) \ ir.cc ir_base.cc imr.cc mtdebug.cc reflection.cc mttypes.cc ifeq ($(USE_WIRELESS), yes) SRCS := $(SRCS) watm.cc endif ifeq ($(HAVE_BLUETOOTH), yes) SRCS := $(SRCS) ltp_address.cc ltp_ior.cc transport/ltp.cc endif ifeq ($(HAVE_THREADS), yes) SRCS := $(SRCS) $(MT_SRCS) endif ifeq ($(USE_MESSAGING), yes) SRCS := $(SRCS) $(MESSAGING_SRCS) endif ifeq ($(THREADING_POLICIES), yes) SRCS := $(SRCS) $(THREADING_POLICIES_SRCS) endif STATIC_OBJS = $(SRCS:.cc=.o) endif ifeq ($(USE_CSL2), yes) ifeq ($(HAVE_FINAL), no) SRCS := $(SRCS) $(CSL2_SRCS) else SRCS := $(SRCS) security/securitylevel2_impl.cc security/audit_impl.cc \ security/odm_impl.cc security/DomainManager_impl.cc security/AccessConfig.cc \ security/RightsConfig.cc security/AuditConfig.cc endif endif ifeq ($(HAVE_FINAL), no) ifeq ($(USE_CSIV2), yes) SRCS := $(SRCS) $(CSIV2_SRCS) #SRCS := $(CSIV2_SRCS) $(SRCS) endif endif ifeq ($(HAVE_FINAL), no) ifeq ($(USE_SL3), yes) SRCS := $(SRCS) $(SL3_SRCS) #SRCS := $(SL3_SRCS) $(SRCS) endif endif SHARED_OBJS = $(STATIC_OBJS:.o=.pic.o) EH_STATIC_OBJS=$(EH_SRCS:.cc=.o) EH_SHARED_OBJS=$(EH_SRCS:.cc=.pic.o) REG_FILES = ../admin/code_set_registry.txt ../admin/mico_code_set_registry.txt # # Rules # all: lib prg prg: ifeq ($(OSTYPE), windows) ifeq ($(HAVE_SHARED), yes) lib: .depend libmico$(VERSION).a mico$(NODOTVERSION).dll else lib: .depend libmico$(VERSION).a endif else ifeq ($(HAVE_SHARED), yes) ifeq ($(HAVE_STATIC), yes) lib: .depend libmico$(VERSION).$(SOEXT) libmico$(VERSION).a else lib: .depend libmico$(VERSION).$(SOEXT) endif else lib: .depend libmico$(VERSION).a endif endif $(EH_STATIC_OBJS): $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(NOPICFLAGS) $(EHOPTFLAGS) -c $(@:.o=.cc) -o $@ $(EH_SHARED_OBJS): $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PICFLAGS) $(EHOPTFLAGS) -c $(@:.pic.o=.cc) -o $@ codeset.cc: ../include/mico/code_set_registry.h ../include/mico/code_set_registry.h: $(REG_FILES) ../admin/mkcsreg $(REG_FILES) > $@ # shared ifeq ($(HAVE_SHARED), yes) libmico$(VERSION).$(SOEXT): $(SHARED_OBJS) ifeq ($(HAVE_REPO), yes) -$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(SHARED_OBJS) $(LDFLAGS) $(CONFLIBS) endif ifeq ($(HAVE_PRELINK), yes) $(CXX) $(PRELINK_FLAG) $(SHARED_OBJS) $(LDFLAGS) $(CONFLIBS) endif $(RM) $@ $(LDSO) -o libmico$(VERSION) $(SHARED_OBJS) $(CONFLIBS) $(IDIRCMD) ../libs cd ../libs; $(RM) $@; $(LN) ../orb/$@ . endif # static libmico$(VERSION).a: $(STATIC_OBJS) ifeq ($(HAVE_REPO), yes) -$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(STATIC_OBJS) $(LDFLAGS) $(CONFLIBS) endif ifeq ($(HAVE_PRELINK), yes) $(CXX) $(PRELINK_FLAG) $(STATIC_OBJS) $(LDFLAGS) $(CONFLIBS) endif $(AR) $(ARFLAGS) $@ $(STATIC_OBJS) $(RANLIB) $@ $(IDIRCMD) ../libs cd ../libs; $(RM) $@; $(LN) ../orb/$@ . # mingw dll mico$(NODOTVERSION).dll: $(STATIC_OBJS) $(CXX) -shared -o $@ $(STATIC_OBJS) $(CONFLIBS) cd ../libs; $(RM) $@; $(LN) ../orb/$@ . generate: orbcore-generate security-generate orbcore-generate: ../admin/mkcsreg $(REG_FILES) > ../include/mico/code_set_registry.h $(IDL) --no-poa --name current --windows-dll mico --pseudo \ -B.. --mico-core ../include/mico/current.idl mv current.h ../include/mico/current.h $(IDL) --name policy --windows-dll mico -B.. \ --no-poa --pseudo --mico-core \ ../include/mico/policy.idl $(PATCH) < policy.cc.diffs $(RM) policy.*.orig mv policy.h ../include/mico/policy.h $(IDL) --name policy2 --any --windows-dll mico --no-poa \ -B.. --pseudo --mico-core \ ../include/mico/policy2.idl mv policy2.h ../include/mico/policy2.h $(IDL) --any --name poa --windows-dll mico --no-poa \ -B.. --pseudo --mico-core \ ../include/mico/poa.idl $(PATCH) < poa.h.diffs $(PATCH) < poa.cc.diffs $(RM) poa.*.orig mv poa.h ../include/mico/poa.h $(IDL) --name service_info --windows-dll mico --pseudo --mico-core \ -B.. ../include/mico/service_info.idl mv service_info.h ../include/mico/service_info.h $(IDL) --name orb_excepts --windows-dll mico --pseudo --mico-core \ -B.. ../include/mico/orb_excepts.idl mv orb_excepts.h ../include/mico/orb_excepts.h $(IDL) --name dynany --windows-dll mico --pseudo --mico-core --any \ -B.. --no-poa -I../include ../include/mico/dynany.idl mv dynany.h ../include/mico/dynany.h $(IDL) --name ioptypes --windows-dll mico --pseudo --mico-core \ -B.. --any ../include/mico/ioptypes.idl mv ioptypes.h ../include/mico/ioptypes.h $(IDL) --name ssliop --windows-dll mico --pseudo -B.. \ --hh-prefix mico \ ../include/mico/ssliop.idl mv ssliop.h ../include/mico/ssliop.h $(IDL) --name valuetype --windows-dll mico --pseudo --any \ --mico-core -B.. ../include/mico/valuetype.idl mv valuetype.h ../include/mico/valuetype.h $(IDL) --name tckind --windows-dll mico --pseudo \ --mico-core -B.. ../include/mico/tckind.idl $(PATCH) < tckind.h.diffs $(RM) tckind.*.orig mv tckind.h ../include/mico/tckind.h $(IDL) --name pi --windows-dll mico --mico-core --any --pseudo \ -B.. ../include/mico/pi.idl mv pi.h ../include/mico/pi.h $(IDL) --name typecode_seq --windows-dll mico --mico-core --any \ --pseudo -B.. ../include/mico/typecode_seq.idl mv typecode_seq.h ../include/mico/typecode_seq.h $(IDL) --name timebase --windows-dll mico --mico-core -B.. \ ../include/mico/timebase.idl mv timebase.h ../include/mico/timebase.h $(IDL) --name reflection --windows-dll mico --hh-prefix mico/ \ -B.. --any ../include/mico/reflection.idl mv reflection.h ../include/mico/reflection.h $(IDL) --name messaging --windows-dll mico --mico-core \ -B.. --any ../include/mico/messaging.idl mv messaging.h ../include/mico/messaging.h $(IDL) --name mtpolicy --windows-dll mico --mico-core \ -B.. --any ../include/mico/mtpolicy.idl mv mtpolicy.h ../include/mico/mtpolicy.h $(IDL) --name mttypes --windows-dll mico --mico-core \ -B.. --any ../include/mico/mttypes.idl mv mttypes.h ../include/mico/mttypes.h security-generate: $(MAKE) -C security generate csiv2-generate: cd security # $(IDL) --name ioptypes --windows-dll mico -B.. --pseudo --mico-core \ # --any ../include/mico/ioptypes.idl # mv ioptypes.h ../include/mico/ioptypes.h $(IDL) --windows-dll mico -B.. --no-poa \ --pseudo --any --mico-core ../include/mico/security/csi_base.idl mv csi_base.h ../include/mico/security/csi_base.h $(IDL) --windows-dll mico -B.. --no-poa \ --pseudo --any --mico-core ../include/mico/security/csi.idl mv csi.h ../include/mico/security/csi.h $(IDL) --windows-dll mico -B.. --no-poa \ --pseudo --any --mico-core ../include/mico/security/csiiop.idl mv csiiop.h ../include/mico/security/csiiop.h $(IDL) --windows-dll mico -B.. --no-poa \ --pseudo --any --mico-core ../include/mico/security/gssup.idl mv gssup.h ../include/mico/security/gssup.h $(IDL) --windows-dll mico -B.. --no-poa \ --pseudo --any --mico-core ../include/mico/security/csiv2.idl mv csiv2.h ../include/mico/security/csiv2.h cd .. sl3-generate: $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/securitylevel3.idl mv securitylevel3.h ../include/mico/security/securitylevel3.h mv securitylevel3.cc security/securitylevel3.cc $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/transportsecurity.idl mv transportsecurity.h ../include/mico/security/transportsecurity.h mv transportsecurity.cc security/transportsecurity.cc $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/sl3aqargs.idl mv sl3aqargs.h ../include/mico/security/sl3aqargs.h mv sl3aqargs.cc security/sl3aqargs.cc $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/sl3tcpip.idl mv sl3tcpip.h ../include/mico/security/sl3tcpip.h mv sl3tcpip.cc security/sl3tcpip.cc $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/sl3tls.idl mv sl3tls.h ../include/mico/security/sl3tls.h mv sl3tls.cc security/sl3tls.cc $(IDL) --windows-dll mico --relative-paths -I../include --no-poa \ --pseudo --any --mico-core ../include/mico/security/sl3aqargs_p.idl mv sl3aqargs_p.h ../include/mico/security/sl3aqargs_p.h mv sl3aqargs_p.cc security/sl3aqargs_p.cc diffs: mkdir orig cd orig; $(IDL) --name policy --windows-dll mico -B../.. \ --no-poa -I../../include --pseudo --mico-core \ ../../include/mico/policy.idl $(RM) policy.cc.diffs diff -c orig/policy.cc policy.cc > policy.cc.diffs || true cd ../include/mico; diff -c ../../orb/orig/policy.h policy.h \ >> ../../orb/policy.cc.diffs || true $(RM) -r orig mkdir orig cd orig; $(IDL) --any --name poa --windows-dll mico --no-poa \ -B../.. --pseudo --mico-core \ ../../include/mico/poa.idl $(RM) poa.cc.diffs diff -c orig/poa.cc poa.cc > poa.cc.diffs || true $(RM) -r orig mkdir orig cd orig; $(IDL) --name tckind --windows-dll mico --pseudo \ --mico-core -B.. ../../include/mico/tckind.idl $(RM) tckind.h.diffs cd ../include/mico; diff -c ../../orb/orig/tckind.h tckind.h \ >> ../../orb/tckind.h.diffs || true $(RM) -r orig clean: $(RM) *.rpo *.ii *.ti *.a *.o *~ *.$(SOEXT) *.exe .depend (cd transport; $(RM) *.rpo *.ii *.ti *.a *.o *~ .depend) (cd os-thread; $(RM) *.rpo *.ii *.ti *.a *.o *~ .depend) (cd security; $(RM) *.rpo *.ii *.ti *.a *.o *~ .depend) install: $(IDIRCMD) $(INSTDIR)/lib ifeq ($(HAVE_STATIC), yes) $(ILIBCMD) libmico$(VERSION).a $(INSTDIR)/lib endif ifeq ($(HAVE_SHARED), yes) $(ILIBCMD) libmico$(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 $(MKDEPEND) $(CXXFLAGS) $(CPPFLAGS) transport/*.cc >> .depend $(MKDEPEND) $(CXXFLAGS) $(CPPFLAGS) os-thread/*.cc >> .depend $(MKDEPEND) $(CXXFLAGS) $(CPPFLAGS) security/*.cc >> .depend