📄 makefile
字号:
# Makefile for project: DE/softwarebuero/ozone/xml/dom/iterator/.# Automatically created by WipeOut.# This makefile requires GNU make!# load platform dependent settings (compiler, flags, libs...)ARCH = $(shell uname -s)ifeq ($(ARCH), HP-UX)ARCH=HPUXendifinclude $(ARCH).def# the default targetdefault: app# load project include and library settingsinclude Makefile.incINC = $(PROJECT_INC) $(ARCH_INC)CPPFLAGS += $(INC)CFLAGS += $(INC)FORTRAN_FLAGS += $(INC)LDFLAGS = $(PROJECT_LIB) $(ARCH_LDFLAGS)LDLIBS = $(ARCH_LIB)# application nameAPP = iterator# static library nameSTATIC_LIB = libiterator.a# shared library name and versionSHARED_LIB = libiterator.soSHLIB_MAJOR = 0SHLIB_MINOR = 1SHLIB_VERSION = $(SHLIB_MAJOR).$(SHLIB_MINOR)SRCDIR =.OBJDIR = obj# extend this for other object filesCLASSES = $(Java:%.java=%.class)OBJS = $(patsubst %.cc, $(OBJDIR)/%.o, $(filter %.cc, $(CPP_source)))OBJS += $(patsubst %.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(CPP_source)))OBJS += $(patsubst %.C, $(OBJDIR)/%.o, $(filter %.C, $(CPP_source)))OBJS += $(patsubst %.c, $(OBJDIR)/%.o, $(filter %.c, $(C_source)))SHOBJS += $(patsubst $(OBJDIR)/%.o, $(OBJDIR)/%.osh, $(OBJS))FOBJS = $(patsubst %.f, $(OBJDIR)/%.o, $(filter %.f, $(Fortran)))FOBJS += $(patsubst %.for, $(OBJDIR)/%.o, $(filter %.for, $(Fortran)))FOBJS += $(patsubst %.F, $(OBJDIR)/%.o, $(filter %.F, $(Fortran)))FOBJS += $(patsubst %.fpp, $(OBJDIR)/%.o, $(filter %.fpp, $(Fortran))).SUFFIXES: .cc .cpp .C .c .l# implicit rules for *.o files from C++$(OBJDIR)/%.o : $(SRCDIR)/%.cc $(CXX) -c $(CPPFLAGS) -o $@ $<$(OBJDIR)/%.o : $(SRCDIR)/%.cpp $(CXX) -c $(CPPFLAGS) -o $@ $<$(OBJDIR)/%.o : $(SRCDIR)/%.C $(CXX) -c $(CPPFLAGS) -o $@ $<# implicit rules for *.osh files from C++$(OBJDIR)/%.osh : $(SRCDIR)/%.cc $(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<$(OBJDIR)/%.osh : $(SRCDIR)/%.cpp $(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<$(OBJDIR)/%.osh : $(SRCDIR)/%.C $(CXX) -c $(CPPFLAGS) $(PIC) -o $@ $<# implicit rules for *.o files from Fortran$(OBJDIR)/%.o : $(SRCDIR)/%.f $(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<$(OBJDIR)/%.o : $(SRCDIR)/%.for $(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<$(OBJDIR)/%.o : $(SRCDIR)/%.F $(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<$(OBJDIR)/%.o : $(SRCDIR)/%.fpp $(FORTRANC) -c $(FORTRAN_FLAGS) -o $@ $<# other implicit rules$(OBJDIR)/%.o : $(SRCDIR)/%.c $(CC) -c $(CFLAGS) -o $@ $<.l.c: flex -t $< > $*.c%.class : $(SRCDIR)/%.java $(JAVAC) $(JAVA_FLAGS) $<# simple Eiffel targeteiffel_debug: $(EIFFEL_DEBUG_C) $(APP) $(APP) $(EIFFEL_DEBUG_FLAGS)eiffel: $(EIFFELC) $(EIFFEL_FLAGS) -o $(APP) $(APP)# simple Java target# empty.java saves make from exit if there are no other sourcesjava: @touch empty.java $(JAVAC) $(JAVA_FLAGS) $(Java) empty.java# target to make classes with guavac#java: $(CLASSES)java_all: directories java# builds an executable from the C++/Fortran object filesapp: $(OBJDIR) $(OBJS) $(FOBJS) $(LINK) $(LDFLAGS) -o $(APP) $(OBJS) $(FOBJS) $(LDLIBS)# builds also all sub-modules; you can change the default target# in the module info dialogapp_all: directories app# builds a library from C++/Fortran object filesstatic_lib: $(OBJDIR) $(OBJS) $(FOBJS) $(AR) $(ARFLAGS) $(STATIC_LIB) $(OBJS) $(FOBJS) $(RANLIB) $(STATIC_LIB)shared_lib: $(OBJDIR) $(SHOBJS) $(SHARED_LINK) -o $(SHARED_LIB).$(SHLIB_VERSION) $(SHOBJS) chmod a+x $(SHARED_LIB).$(SHLIB_VERSION) ln -f -s $(SHARED_LIB).$(SHLIB_VERSION) $(SHARED_LIB)clean: -rm -r obj* -rm *.class -rm $(APP) -rm lib*.a lib*.so*clean_eiffel: -rm -r A B C *.c *.o $(APP)clean_all: clean $(foreach DIR, $(MAKE_DIRS), (cd $(DIR) && $(MAKE) clean_all);)depend: $(CC) -MM $(CPPFLAGS) $(CPP_source) $(C_source) > temp.dep # makedepend -p$(OBJDIR) -- $(CPPFLAGS) -- $(SOURCES) -fMakefile.dep sed -e "s/[-A-Za-z0-9_,]*\.o/\$$(OBJDIR)\/&/" temp.dep > Makefile.dep sed -e "s/[-A-Za-z0-9_,]*\.o/\$$(OBJDIR)\/&sh/" temp.dep >> Makefile.dep -rm -f temp.dep # build dependencies with guavac #guavac -M $(Java) >> Makefile.dep$(OBJDIR): mkdir $(OBJDIR)-include Makefile.dep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -