📄 makefile.rules
字号:
########################################################################## File: Makefile.rules# Description: Generic makefile for Impulse RSIM. # Author: Lixin Zhang# Created: 02-06-1999# Modified: 02-06-1999## Either $(LIBRARY) or $(OBJECT) has to be set before including this one. #################################################################################################################################################### For optimized binaries ##########################################################################ifdef LIBRARY LIBRARY := $(OBJDIR)/$(LIBRARY)endififdef OBJECT OBJECT := $(OBJDIR)/$(OBJECT)endifTARGET := $(LIBRARY) $(OBJECT)DTARGET := $(LIBRARY) $(OBJECT)_dOBJS := $(addprefix $(OBJDIR)/,$(SRCS:.c=.o))OBJS := $(OBJS:.cc=.o)OBJS := $(OBJS:.s=.o)default: $(TARGET)$(LIBRARY): $(OBJS) -mv -f $@ $(OBJDIR)/Oldifeq ($(OSTYPE),IRIX64) $(C++) -ar -o $@ $^elseifeq ($(OSTYPE),IRIX) $(C++) -ar -o $@ $^elseifeq ($(OSTYPE),SunOS) $(C++) -xar -o $@ $^else $(AR) crv $@ $^ $(RANLIB) $@endifendifendif$(OBJECT): $(OBJS) -mv -f $@ $(OBJDIR)/Old $(LD) $(LDFLAGS) -r -o $@ $^########################################################################## For binaries with debug information ##########################################################################DLIBY = $(LIBRARY:.a=_d.a)DOBJT = $(OBJECT:.o=_d.o)DTARGET = $(DLIBY) $(DOBJT)DOBJS = $(OBJS:.o=_d.o)debug: $(DTARGET)all: $(TARGET) $(DTARGET)$(DLIBY): $(DOBJS) -mv -f $@ $(OBJDIR)/Oldifeq ($(OSTYPE),IRIX64) $(C++) -ar -o $@ $^elseifeq ($(OSTYPE),IRIX) $(C++) -ar -o $@ $^elseifeq ($(OSTYPE),SunOS) $(C++) -xar -o $@ $^else $(AR) crv $@ $^ $(RANLIB) $@endifendifendif$(DOBJT): $(DOBJS) -mv -f $@ $(OBJDIR)/Old $(LD) $(LDFLAGS) -r -o $@ $^########################################################################## Install the library or the object file into bin/ directory. ###########################################################################BINTARGET = $(BINDIR)/$(notdir $(TARGET)) $(BINDIR)/$(notdir $(DTARGET))install: $(BINTARGET)$(BINTARGET): $(TARGET) $(DTARGET) -mv -f $(BINTARGET) $(BINDIR)/Old cp $(TARGET) $(DTARGET) $(BINDIR)########################################################################## standard rules ###########################################################################.SUFFIXES: .c .o .cc .s$(OBJDIR)/%_d.o:%.c $(CC) $(CPPFLAGS) $(CDFLAGS) -c -o $@ $*.c$(OBJDIR)/%_d.o:%.cc $(C++) $(CPPFLAGS) $(C++DFLAGS) -c -o $@ $*.cc$(OBJDIR)/%_d.o:%.s $(AS) $(CPPFLAGS) $(ASFLAGS) -o $@ $*.s$(OBJDIR)/%.o:%.c $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $*.c$(OBJDIR)/%.o:%.cc $(C++) $(CPPFLAGS) $(C++FLAGS) -c -o $@ $*.cc$(OBJDIR)/%.o:%.s $(AS) $(CPPFLAGS) $(ASFLAGS) -o $@ $*.sclean: -rm -f $(OBJS) -rm -f $(DOBJS)clobber: clean -rm -f $(TARGET) -rm -f $(DTARGET) -rm -fr $(OBJDIR)/SunWS_cache -rm -fr $(OBJDIR)/dependTAGS: $(SRCS) etags -T ../*/*.c ../*/*.cc ../*/*.h ../*/*.hh########################################################################## Automatically update depend file ###########################################################################SHELL = sh.PHONY: dependdepend $(OBJDIR)/depend: $(SRCS) mkdir -p $(OBJDIR) @touch $(OBJDIR)/.depend $(DEPEND) -f $(OBJDIR)/.depend -- $(CPPFLAGS) -- $(SRCS) @sed -e 's/^.*\.o:/Objs\/$(OSTYPE)\/&/' \ $(OBJDIR)/.depend > $(OBJDIR)/depend @sed -e 's/\.o:/_d\.o:/' $(OBJDIR)/depend > $(OBJDIR)/.depend @cat $(OBJDIR)/.depend >> $(OBJDIR)/depend @rm -f $(OBJDIR)/.depend $(OBJDIR)/.depend.bakinclude $(OBJDIR)/depend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -