Home | History | Annotate | Download | only in config
      1 ## -*-makefile-*-
      2 ## Solaris-specific setup using Sun's compilers
      3 ## Copyright (c) 1999-2006, International Business Machines Corporation and
      4 ## others. All Rights Reserved.
      5 
      6 ## Flags for position independent code
      7 SHAREDLIBCFLAGS = -KPIC
      8 SHAREDLIBCXXFLAGS = -KPIC
      9 SHAREDLIBCPPFLAGS = -DPIC
     10 
     11 ## Commands to generate dependency files
     12 GEN_DEPS.c=  $(CC) -xM $(DEFS) $(CPPFLAGS)
     13 GEN_DEPS.cc= $(CXX) -xM $(DEFS) $(CPPFLAGS)
     14 
     15 # -mt means 'compiles and links a multithreaded program'
     16 THREADSCFLAGS += -mt
     17 THREADSCXXFLAGS += -mt
     18 
     19 ## Commands to link
     20 ## For Sun Workshop, use CC to link to bring in C++ runtime
     21 LINK.c=		$(CXX) $(CXXFLAGS) $(LDFLAGS)
     22 LINK.cc=	$(CXX) $(CXXFLAGS) $(LDFLAGS)
     23 
     24 ## Commands to make a shared library
     25 SHLIB.c=	$(CC) $(CFLAGS) $(LDFLAGS) -G
     26 SHLIB.cc=	$(CXX) $(CXXFLAGS) $(LDFLAGS) -G
     27 
     28 ## Compiler switch to embed a runtime search path
     29 LD_RPATH=	-R
     30 LD_RPATH_PRE=	
     31 
     32 #LIBRARY_PATH_PREFIX=/usr/lib/lwp:
     33 
     34 ## Compiler switch to embed a library name
     35 LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
     36 
     37 ## Shared object suffix
     38 SO=		so
     39 ## Non-shared intermediate object suffix
     40 STATIC_O = o
     41 
     42 ## Compilation rules
     43 %.$(STATIC_O): $(srcdir)/%.c
     44 	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
     45 %.o: $(srcdir)/%.c
     46 	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
     47 
     48 %.$(STATIC_O): $(srcdir)/%.cpp
     49 	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
     50 %.o: $(srcdir)/%.cpp
     51 	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
     52 
     53 
     54 ## Dependency rules
     55 %.d : $(srcdir)/%.c
     56 	@echo "generating dependency information for $<"
     57 	@$(GEN_DEPS.c) $< > $@
     58 
     59 %.d : $(srcdir)/%.cpp
     60 	@echo "generating dependency information for $<"
     61 	@$(GEN_DEPS.cc) $< > $@
     62 
     63 ## Versioned libraries rules
     64 
     65 %.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
     66 	$(RM) $@ && ln -s ${<F} $@
     67 %.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
     68 	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
     69 
     70 # 
     71 ifeq (strip $(GENCCODE_ASSEMBLY),)
     72 BIR_LDFLAGS=  -Wl,-M,$(NAME).map -Wl,-B,symbolic -Wl,-B,eliminate
     73 BIR_DEPS=   $(NAME).map
     74 endif
     75 
     76 ## End Solaris-specific setup
     77