#ident @(#)r-smake.obj 2.2 18/08/16 ########################################################################### # Written 1996 by J. Schilling ########################################################################### # # Object building rules for smake # ########################################################################### # Copyright (c) J. Schilling ########################################################################### # The contents of this file are subject to the terms of the # Common Development and Distribution License, Version 1.0 only # (the "License"). You may not use this file except in compliance # with the License. # # See the file CDDL.Schily.txt in this distribution for details. # A copy of the CDDL is also available via the Internet at # http://www.opensource.org/licenses/cddl1.txt # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file CDDL.Schily.txt from this distribution. ########################################################################### # This defines a rule that compiles source files from current directory and # puts the resultant objects directly into $(ARCHDIR), # to allow concurrent compilation on different platforms. # Object file names are constructed from $(CFILES) and $(C++FILES). ########################################################################### ARCHDIRX= $(ARCHDIR)/ ___C++OFILES= $(C++FILES:%.C=$(ARCHDIR)/%.$o) __C++OFILES= $(___C++OFILES:%.cc=$(ARCHDIR)/%.$o) _C++OFILES= $(__C++OFILES:%.cpp=$(ARCHDIR)/%.$o) C++OFILES= $(_C++OFILES:%.cxx=$(ARCHDIR)/%.$o) C++POFILES= $(C++OFILES) OFILES= $(CFILES:%.c=$(ARCHDIR)/%.$o) $(C++OFILES) POFILES= $(CFILES:%.c=$(ARCHDIR)/%.$o) $(C++POFILES) .OBJDIR: $(ARCHDIR) ########################################################################### __COMPILE.c= $(_UNIQ)$(COMPILE.c) ___COMPILE.c= $(__COMPILE.c:$(_UNIQ)=$(CCCC) $(C_FLAGS) $(CFLAGS) $(CPP_FLAGS) $(CPPFLAGS) -c) _COMPILE.c= $(___COMPILE.c:$(_UNIQ)%=%) __COMPILE.cc= $(_UNIQ)$(COMPILE.cc) ___COMPILE.cc= $(__COMPILE.cc:$(_UNIQ)=$(CC++) $(C++FLAGS) $(CCFLAGS) $(CPP_FLAGS) $(CPPFLAGS) -c) _COMPILE.cc= $(___COMPILE.cc:$(_UNIQ)%=%) __OUTPUT_OPTION= $(_UNIQ)$(OUTPUT_OPTION) ___OUTPUT_OPTION= $(__OUTPUT_OPTION:$(_UNIQ)=-o $@) _OUTPUT_OPTION= $(___OUTPUT_OPTION:$(_UNIQ)%=%) ########################################################################### $(ARCHDIR)/%.$o: %.c $(_COMPILE.c) $(_OUTPUT_OPTION) $< $(CC_OUTPUT_FILTER) $(ARCHDIR)/%.$o: %.C $(_COMPILE.cc) $(_OUTPUT_OPTION) $< $(CC_OUTPUT_FILTER) $(ARCHDIR)/%.$o: %.cc $(_COMPILE.cc) $(_OUTPUT_OPTION) $< $(CC_OUTPUT_FILTER) $(ARCHDIR)/%.$o: %.cpp $(_COMPILE.cc) $(_OUTPUT_OPTION) $< $(CC_OUTPUT_FILTER) $(ARCHDIR)/%.$o: %.cxx $(_COMPILE.cc) $(_OUTPUT_OPTION) $< $(CC_OUTPUT_FILTER) #$(ARCHDIR)/%.$o: %.c # $(CCCC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $(*F).c ###########################################################################