📄 makefile.gnu
字号:
###################### clip 'n save #############################ifeq ($(M),) M = Dendififeq ($(DITHER),YES)ifeq ($(COMP_DIR),)COMP_DIR=$(UGA_ROOT)./$(UGA_ARCH)_$M/DITHERelseCOMP_DIR := $(COMP_DIR)/DITHERendifUSEDITH=$(DITHEROBJS)else DITHERDEF= -DDISABLE_DITHERendififeq ($(CONTROLS),YES)ifeq ($(COMP_DIR),)COMP_DIR=$(UGA_ROOT)./$(UGA_ARCH)_$M/CONTROLelseCOMP_DIR := $(COMP_DIR)/CONTROLendifUSECTRL=$(CONTROLOBJS)else CONTRDEF= -DNOCONTROLSendififeq ($(SHARED),YES)ifeq ($(COMP_DIR),)COMP_DIR=$(UGA_ROOT)./$(UGA_ARCH)_$M/SHAREDelseCOMP_DIR := $(COMP_DIR)/SHAREDendifSHARDEF= -DSH_MEMendifVARIDEFS=$(SHARDEF) $(CONTRDEF) $(DITHERDEF)USEOBJS=$(USEDITH) $(USECTRL)ifeq ($(COMP_DIR),)COMP_DIR=$(UGA_ROOT)./$(UGA_ARCH)_$MLIB_DIR=$(UGA_ROOT)/pkg/tii/lib/$(UGA_ARCH)/$Mendififeq ($(LIB_DIR),)LIB_DIR=$(COMP_DIR)endififeq ($(SRC_DIR),)SRC_DIR=$(UGA_ROOT).endififeq ($(MAKEFILE),) MROOT = $(UGA_ROOT)./Makefileelse MROOT = $(shell echo $cwd)/$(MAKEFILE)endif# Make sure the user is compiling in the right hierarchy#YOUR_HIER := $(shell echo $cwd | sed -e "s/uga.*/uga/")REAL_HIER := $(shell cd $$UGA_ROOT; echo $cwd | sed -e "s/uga.*/uga/")ifeq ($(REAL_MAKE),)ifeq ($(YOUR_HIER),$(REAL_HIER))Makefile : ;_FORCE : ;allversions: @echo vanilla version, with debugging @$(MAKE) -f $(MROOT) -r MAKE_TARG=all all @echo controls version, with debugging @$(MAKE) -f $(MROOT) -r CONTROLS=YES MAKE_TARG=all all @echo dither version, with debugging @$(MAKE) -f $(MROOT) -r DITHER=YES MAKE_TARG=all all @echo controls and dither version, with debugging @$(MAKE) -f $(MROOT) -r CONTROLS=YES DITHER=YES MAKE_TARG=all all @echo vanilla version, optimized @$(MAKE) -f $(MROOT) -r M=O MAKE_TARG=all all @echo controls version, optimized @$(MAKE) -f $(MROOT) -r M=O CONTROLS=YES MAKE_TARG=all all @echo dither version, optimized @$(MAKE) -f $(MROOT) -r M=O DITHER=YES MAKE_TARG=all all @echo controls and dither version, optimized @$(MAKE) -f $(MROOT) -r M=O CONTROLS=YES DITHER=YES MAKE_TARG=all allcleanall: @echo vanilla version, with debugging @$(MAKE) -f $(MROOT) -r MAKE_TARG=clean clean @echo controls version, with debugging @$(MAKE) -f $(MROOT) -r CONTROLS=YES MAKE_TARG=clean clean @echo dither version, with debugging @$(MAKE) -f $(MROOT) -r DITHER=YES MAKE_TARG=clean clean @echo controls and dither version, with debugging @$(MAKE) -f $(MROOT) -r CONTROLS=YES DITHER=YES MAKE_TARG=clean clean @echo vanilla version, optimized @$(MAKE) -f $(MROOT) -r M=O MAKE_TARG=clean clean @echo controls version, optimized @$(MAKE) -f $(MROOT) -r M=O CONTROLS=YES MAKE_TARG=clean clean @echo dither version, optimized @$(MAKE) -f $(MROOT) -r M=O DITHER=YES MAKE_TARG=clean clean @echo controls and dither version, optimized @$(MAKE) -f $(MROOT) -r M=O CONTROLS=YES DITHER=YES MAKE_TARG=clean clean% %.o:_FORCE @$(MAKE) -f $(MROOT) -r MAKE_TARG=$@ -C $(COMP_DIR) REAL_MAKE=TRUE $@%.o: %.C @$(MAKE) -f $(MROOT) -r MAKE_TARG=$@ -C $(COMP_DIR) REAL_MAKE=TRUE $@else%: @echo "You're trying to compile in the wrong hierarchy!" @echo $(subst /tmp_mnt,,$(YOUR_HIER)) "!=" $(subst /tmp_mnt,,$(REAL_HIER))endifelse################################################################## names#################################################################.SUFFIXES: .C .H .cpp .h.PRECIOUS: Makefile#MakefileTest.dep.PHONY: clean#DEBUG=-ETESTING=-DTESTINGPROGRAMS=mpeg_playLIBRARY=libmpeg.a_comma= ,_empty=_space = $(empty) $(empty) ALLOBJS=$(OBJS) $(WRAPPEROBJS) $(DITHEROBJS) $(CONTROLOBJS)ALLSRC= $(addsuffix .c, $(basename $(ALLOBJS) ))_VPATH = $(LIB_DIR) $(SRC_DIR) \ $(foreach SUBD,$(SUBDIRS),$(SRC_DIR)/$(SUBD)$(_space))_VPATH_SRC_C_FILES = $(foreach FILE, $(ALLSRC), \ $(foreach DIR,$(_VPATH),$(wildcard $(DIR)/$(FILE))))_VPATH_C_FILES = $(_VPATH_SRC_C_FILES)################################################################## Compiler specifications#################################################################CPP =/pro/uga/sys_bin/$(ARCH)/O/cppifeq ($(UGA_ARCH),sol)SOLINC = -I/usr/openwin/includeLIBS= -L/usr/lib/X11 -lXext -lX11 -lgenifeq ($(M),D)HOWCOMP=-gendififeq ($(M),O)HOWCOMP=-Oendififeq ($(M),P)HOWCOMP=-O4 -DSTD__MEM_POOL=0 -xpgendifendififeq ($(DEBUG),)DEBUG=-DNDEBUGendififeq ($(UGA_ARCH),hp)LIBS= -L/usr/lib/X11R5 -lXext -lX11DEFS= -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT $(VARIDEFS)CC=cc -Aa -D_HPUX_SOURCELD=cc -Aaifeq ($(M),D)HOWCOMP=-g endififeq ($(M),O)HOWCOMP=-Oendififeq ($(M),P)HOWCOMP=-Ac -O4 -DSTD__MEM_POOL=0 -xpgendifendififeq ($(UGA_ARCH),sgi)LD= $(CC)SGIFLAG= -use_cfrontLIBS= -L/usr/lib/X11 -lXext -lX11ifeq ($(M),D)HOWCOMP=-g +w -cckrendififeq ($(M),O)HOWCOMP=-O2 -mips2 -cckrendififeq ($(M),P)HOWCOMP=-O4 -DSTD__MEM_POOL=0 -xpg -cckrendifendifCFLAGS = $(DEFS) $(INCLUDEDIR) $(DEBUG)LFLAGS =VPATH = $(SRC_DIR)SED = sedRM = rmMAKEDEP = cpp -M_SED_VPATH := $(filter-out $(firstword $(_VPATH)), $(_VPATH)) $(firstword $(_VPATH))# Add "s," at the beginning_SED_VPATH := $(addprefix s$(_comma),$(_SED_VPATH))# Add "/,,g" at the end_SED_VPATH := $(addsuffix /$(_comma)$(_comma)g\;,$(_SED_VPATH))# Remove spaces_SED_VPATH := -e `echo $(_SED_VPATH) |sed 's/ //g'`_SED_SUBDIR = -e 's, [a-z,A-Z,_,/]*/\.\./, ,'_SED_ARCHIVE = -e "s/\($(UPNAME).*\.o\)/lib$(NAME).a(\1)/"################################################################## rules#################################################################include MakefileMPEG.depall:$(PROGRAMS) $(OBJS) $(LIBRARY)%.o : %.C $(CCPLUS) $(HOWCOMP) $(CFLAGS) $(IFLAGS) -c $^ -o $@%.o : %.c $(CC) -c $(HOWCOMP) $(CFLAGS) $(IFLAGS) $<.C.cpp : cpp $(CFLAGS) $(IFLAGS) $@ > $*.cpp.h.cpp : cpp $(CFLAGS) $(IFLAGS) $@ > $*.cppclean: $(RM) -f $(ALLOBJS) *~ $(PROGRAMS) *.cpp MakefileMPEG.dep# cd $(COMP_DIR);$(RM) $(ALLOBJS) *~ $(PROGRAMS) *.cppifeq ($(UGA_ARCH),sol)LD= $(CC)INCLUDEDIR = -I/usr/include -I/usr/openwin/share/include -I/usr/openwin/include -I/usr/dt/includeelseINCLUDEDIR = -I/usr/include -I/usr/include/X11endif# For Solaris/openwindows#INCLUDEDIR = -I/usr/include -I/usr/openwin/share/include -I/usr/openwin/include -I/usr/dt/include#Sun Solaris/Openwindows ifeq ($(UGA_ARCH),sol)DEFS= -DBSD -DNONANSI_INCLUDES -DSIG_ONE_PARAM -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT $(VARIDEFS)LDFLAGS= -lgenendififeq ($(UGA_ARCH),sgi)DEFS = -DDEFAULT_FULL_COLOR -DNOFRAMECOUNT $(VARIDEFS)#CFLAGS = -O $(DEFS) -cckr $(INCLUDEDIR) $(DEBUG)endifOBJS = util.o video.o parseblock.o motionvector.o decoders.o \ floatdct.o gdith.o main.o jrevdct.o util32.o\ 16bit.o readfile.o#24bit.oCONTROLOBJS=ctrlbar.oDITHEROBJS=fs2.o fs2fast.o fs4.o gray.o hybrid.o hybriderr.o mb_ordered.o \ mono.o ordered.o ordered2.o 2x2.o#Objects for display independent libraryLIBOBJS = util.o video.o parseblock.o motionvector.o decoders.o \ floatdct.o\ jrevdct.o util32.o 16bit.o gdith.o readfile.o \ $(WRAPPEROBJS)# from MNI wrapperWRAPPEROBJS= wrapper.o gdithMNI.oPRINT = prPROGRAM = mpeg_playLIBRARY = libmpeg.aSHELL = /bin/shSRCS = util.c video.c parseblock.c motionvector.c decoders.c \ main.c gdith.c fs2.c fs2fast.c fs4.c hybrid.c hybriderr.c \ 2x2.c gray.c mono.c jrevdct.c 16bit.c util32.c ordered.c \ ordered2.c mb_ordered.c readfile.c floatdct.c ctrlbar.c \ wrapper.c gdithMNI.cSYSHDRS = $(LIBRARY): $(LIBOBJS) ar rv $(LIBRARY) $(LIBOBJS) $(USEOBJS)$(PROGRAM): $(OBJS) $(USEOBJS) $(LD) $(LDFLAGS) $(OBJS) $(USEOBJS) $(LIBS) -lm -o $(PROGRAM)# strip $(PROGRAM)#clean:; rm -f $(OBJS) $(LIBOBJS) core $(LIBRARY) $(PROGRAM)# @make dependclobber:; rm -f $(OBJS) $(PROGRAM) core tagsdepend:; makedepend -- $(CFLAGS) -- $(SRCS)echo:; @echo $(HDRS) $(SRCS)index:; @ctags -wx $(HDRS) $(SRCS)install: $(PROGRAM) @echo Installing $(PROGRAM) in $(DEST) @-strip $(PROGRAM) @if [ $(DEST) != . ]; then \ (rm -f $(DEST)/$(PROGRAM); $(INSTALL) -f $(DEST) $(PROGRAM)); fiprint:; @$(PRINT) $(HDRS) $(SRCS)tags:$(SRC_DIR)/tags$(SRC_DIR)/tags: $(HDRS) $(SRCS) @cd $(SRC_DIR);ctags -w $(HDRS) $(SRCS)update: $(DEST)/$(PROGRAM)#tags: $(ALLSRC)# cd $(SRC_DIR);ctags -t -w $^MakefileMPEG.dep: Makefile @rm -f MakefileMPEG.dep @for i in $(_VPATH_C_FILES); do \ (echo $$i | $(SED) $(_SED_VPATH) ; \ $(MAKEDEP) -DMAKING_DEPENDENCIES $(CFLAGS) $(IFLAGS) $$i | \ $(SED) $(_SED_SUBDIR) $(_SED_VPATH) >> \ MakefileMPEG.dep)\ doneendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -