# Makefile for cln/src #### Start of system configuration section. #### # Directories used by "make": srcdir = @srcdir@ top_srcdir = @top_srcdir@ # Directories used by "make install": prefix = @prefix@ local_prefix = /usr/local exec_prefix = @exec_prefix@ datadir = @datadir@ libdir = @libdir@ includedir = @includedir@ mandir = @mandir@ DESTDIR = # Programs used by "make": # C compiler CC = @CC@ CFLAGS = @CFLAGS@ CPP = @CPP@ # C++ compiler CXX = @CXX@ CXXFLAGS = @CXXFLAGS@ CXXCPP = @CXXCPP@ INCLUDES = -I../include -I$(top_srcdir)/include override CPPFLAGS += $(INCLUDES) LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBTOOL_COMPILE = $(LIBTOOL) --mode=compile LIBTOOL_LINK = $(LIBTOOL) --mode=link LIBTOOL_INSTALL = $(LIBTOOL) --mode=install LIBTOOL_UNINSTALL = $(LIBTOOL) --mode=uninstall AR = ar AR_FLAGS = rc RANLIB = @RANLIB@ MV = mv LN = ln RM = rm -f MKDIR = mkdir -p @SET_MAKE@ # Libtool's library interface versions: CL_CURRENT = @CL_CURRENT@ CL_REVISION = @CL_REVISION@ CL_AGE = @CL_AGE@ # Programs used by "make install": INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ #### End of system configuration section. #### SHELL = /bin/sh # Needed by $(LIBTOOL). top_builddir = .. # When this Makefile is called with SUBDIR=some_subdirectory, it builds # only the object files belonging to sources in that subdirectory. The # final library is built only if SUBDIR=. SUBDIR = . # Define the search path for sources. # The variable $(aux_srcdir) is needed because new versions of aufoconf tend to # remove $(srcdir), ${srcdir} and so on... aux_srcdir = @srcdir@ VPATH = $(aux_srcdir)/$(SUBDIR) # Add subdirectory specific flags. include $(srcdir)/$(SUBDIR)/Makeflags override CPPFLAGS += $(SUBDIR_INCLUDES) # Need to know the system name. SYSTEM := $(shell uname -s) FILES_CC := $(notdir $(wildcard $(srcdir)/$(SUBDIR)/*.cc)) FILES_CC := $(filter-out %.i.cc, $(FILES_CC)) ASMFILES_CC := $(patsubst cl_asm_@host_cpu@_%.cc,cl_asm_%.cc, $(filter cl_asm_@host_cpu@_%.cc, $(FILES_CC))) FILES_CC := $(filter-out cl_asm_%.cc, $(FILES_CC)) FILES_I_CC := $(patsubst %.cc,%.i.cc,$(FILES_CC)) FILES_S := $(patsubst %.cc,%.s,$(FILES_CC)) FILES_LO := $(patsubst %.cc,%.lo,$(FILES_CC)) ASMFILES_S := $(patsubst %.cc,%.s,$(ASMFILES_CC)) ASMFILES_LO := $(patsubst %.cc,%.lo,$(ASMFILES_CC)) OBJECTS_LO = $(FILES_LO) $(ASMFILES_LO) SUBDIRS := $(patsubst $(srcdir)/%/.,%,$(wildcard $(srcdir)/$(SUBDIR)/*/.)) # Avoid certain subdirectories: # private/ and old/ don't contain valid sources, # CVS/ and RCS/ are created when people put the sources under version control, # ii_files/ is created during "make" by SGI C++. SUBDIRS := $(filter-out old ./old private ./private CVS %/CVS RCS %/RCS ii_files ./ii_files,$(SUBDIRS)) SUBDIRS_TARGET := $(patsubst %,%.target,$(SUBDIRS)) SUBDIRS_DIRDEP := $(patsubst %,%.dirdep,$(SUBDIRS)) ifeq ($(SUBDIR),.) ALLFILES_CC := $(notdir $(wildcard $(srcdir)/*.cc) $(foreach subdir,$(SUBDIRS), $(wildcard $(srcdir)/$(subdir)/*.cc) $(wildcard $(srcdir)/$(subdir)/*/*.cc) $(wildcard $(srcdir)/$(subdir)/*/*/*.cc))) ALLFILES_CC := $(filter-out %.i.cc, $(ALLFILES_CC)) ALLASMFILES_CC := $(patsubst cl_asm_@host_cpu@_%.cc,cl_asm_%.cc, $(filter cl_asm_@host_cpu@_%.cc, $(ALLFILES_CC))) ALLFILES_CC := $(filter-out cl_asm_%.cc, $(ALLFILES_CC)) ALLFILES_LO := $(patsubst %.cc,%.lo,$(ALLFILES_CC)) ALLASMFILES_LO := $(patsubst %.cc,%.lo,$(ALLASMFILES_CC)) ALLOBJECTS_LO = $(ALLFILES_LO) $(ALLASMFILES_LO) all : $(OBJECTS_LO) $(SUBDIRS_TARGET) libcln.la else all : $(OBJECTS_LO) $(SUBDIRS_TARGET) endif alls : $(FILES_S) $(ASMFILES_S) allo : $(FILES_LO) $(ASMFILES_LO) ASMFLAGS := ifeq (@AS_UNDERSCORE@,true) ASMFLAGS += -DUNDERSCORE endif # Rules for normal compilation. %.lo : %.c $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< %.lo : %.cc $(LIBTOOL_COMPILE) $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< # Rules for normal compilation, only needed for debugging. %.s : %.c $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@ %.s : %.cc $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -S $< -o $@ # Rules for preprocessing. %.i : %.c $(CPP) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@ %.i.cc : %.cc $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $< > $@ # Rules for assembly language files, ifneq ($(ASMFILES_LO),) ifneq ($(filter @host_cpu@,sparc sparc64),) $(ASMFILES_S) : %.s : %.cc $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) $(ASMFLAGS) $< | grep -v '^#' | grep -v '^ *#line' | sed -e 's/\([.%]\) /\1/g' -e 's/ , /,/g' -e 's/ :/:/g' -e 's/\$$/#/g' > $@ else ifeq (@host_cpu@,m68k) $(ASMFILES_S) : %.s : %.cc ifeq (@AS_UNDERSCORE@,true) $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -P $(ASMFLAGS) $< | sed -e 's/\\#/#/g' -e 's/\$$//g' > $@ else $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -P $(ASMFLAGS) $< | sed -e 's/\\#/#/g' -e 's/\$$/%/g' > $@ endif else ifeq (@host_cpu@,hppa) $(ASMFILES_S) : %.s : %.cc -$(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -P $(ASMFLAGS) $< > $@ else $(ASMFILES_S) : %.s : %.cc $(CXXCPP) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -P $(ASMFLAGS) $< > $@ endif endif endif ifeq (@host_cpu@,hppa) # Only the native as groks the .SHORTDATA statements $(ASMFILES_LO) : %.lo : %.s $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(TARGET_ARCH) -c $< \ || COMPILER_PATH=/usr/ccs/bin $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(TARGET_ARCH) -c $< \ || COMPILER_PATH=/bin $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(TARGET_ARCH) -c $< else $(ASMFILES_LO) : %.lo : %.s $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(TARGET_ARCH) -c $< endif endif # Recurse into subdirectories $(SUBDIRS_TARGET) : %.target : %.dirdep $(MAKE) SUBDIR=$* $(SUBDIRS_DIRDEP) : %.dirdep : ifeq ($(SUBDIR),.) libcln.la : $(LIBTOOL) $(ALLOBJECTS_LO) $(LIBTOOL_LINK) $(CC) -o libcln.la -rpath $(libdir) -version-info $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) $(LDFLAGS) $(LIBS) $(ALLOBJECTS_LO) install : all force $(MKDIR) $(DESTDIR)$(libdir) $(LIBTOOL_INSTALL) $(INSTALL_PROGRAM) libcln.la $(DESTDIR)$(libdir)/libcln.la $(MKDIR) $(DESTDIR)$(includedir)/cln $(INSTALL_DATA) $(top_srcdir)/include/cln/*.h $(DESTDIR)$(includedir)/cln $(INSTALL_DATA) ../include/cln/*.h $(DESTDIR)$(includedir)/cln installdirs : force $(MKDIR) $(DESTDIR)$(libdir) $(MKDIR) $(DESTDIR)$(includedir)/cln uninstall : force $(LIBTOOL_UNINSTALL) $(RM) $(DESTDIR)$(libdir)/libcln.la $(RM) -r $(DESTDIR)$(includedir)/cln check : all mostlyclean : clean clean : force $(RM) *.s *.o *.lo *.a *.la core $(RM) -r .libs _libs distclean : clean $(RM) config.status config.log config.cache Makefile maintainer-clean : distclean endif force :