📄 makefile.gcmmx
字号:
# makefile for libpng on Linux ELF with gcc using MMX assembler code# Copyright 1996-1997 Andreas Dilger# Copyright 1998-2001 Greg Roelofs# For conditions of distribution and use, see copyright notice in png.h# CAUTION: Do not use this makefile with gcc versions 2.7.2.2 and earlier.# NOTE: When testing MMX performance on a multitasking system, make sure# there are no floating-point programs (e.g., SETI@Home) running in# the background! Context switches between MMX and FPU are expensive.CC=gcc# where "make install" puts libpng.a, libpng.so*, png.h, and pngconf.hprefix=/usr/local# Where the zlib library and include files are located#ZLIBLIB=/usr/local/lib#ZLIBINC=/usr/local/includeZLIBLIB=../zlibZLIBINC=../zlibALIGN=# for i386:#ALIGN=-malign-loops=2 -malign-functions=2WARNMORE=-Wwrite-strings -Wpointer-arith -Wshadow \ -Wmissing-declarations -Wtraditional -Wcast-align \ -Wstrict-prototypes -Wmissing-prototypes #-Wconversion# for pgcc version 2.95.1, -O3 is buggy; don't use it.### for generic gcc:CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 $(ALIGN) -funroll-loops \ -fomit-frame-pointer # $(WARNMORE) -g -DPNG_DEBUG=5### for gcc 2.95.2 on 686:#CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 \# -mcpu=i686 -malign-double -ffast-math -fstrict-aliasing \# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer ### for gcc 2.7.2.3 on 486 and up:#CFLAGS=-DPNG_USE_PNGGCCRD -I$(ZLIBINC) -Wall -O3 \# -m486 -malign-double -ffast-math \# $(ALIGN) -funroll-loops -funroll-all-loops -fomit-frame-pointer LDFLAGS=-L. -Wl,-rpath,. -L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) -lpng -lz -lmLDFLAGS_A=-L$(ZLIBLIB) -Wl,-rpath,$(ZLIBLIB) libpng.a -lz -lmRANLIB=ranlib#RANLIB=echo# read libpng.txt or png.h to see why PNGMAJ is 2. You should not# have to change it.PNGMAJ = 2PNGMIN = 1.0.12PNGVER = $(PNGMAJ).$(PNGMIN)INCPATH=$(prefix)/includeLIBPATH=$(prefix)/libOBJS = png.o pngset.o pngget.o pngrutil.o pngtrans.o pngwutil.o \ pngread.o pngrio.o pngwio.o pngwrite.o pngrtran.o \ pngwtran.o pngmem.o pngerror.o pngpread.o pnggccrd.oOBJSDLL = $(OBJS:.o=.pic.o).SUFFIXES: .c .o .pic.o.c.pic.o: $(CC) -c $(CFLAGS) -fPIC -o $@ $*.call: libpng.a libpng.so pngtest pngtest-staticpnggccrd.o: pnggccrd.c png.h pngconf.h @echo "" @echo ' You can ignore the single "control reaches end of non-void function"' @echo ' warning and multiple "<variable> defined but not used" warnings:' @echo "" $(CC) -c $(CFLAGS) -o $@ $*.c @echo ""pnggccrd.pic.o: pnggccrd.c png.h pngconf.h @echo "" @echo ' You can ignore the single "control reaches end of non-void function"' @echo ' warning and multiple "<variable> defined but not used" warnings:' @echo "" $(CC) -c $(CFLAGS) -fPIC -o $@ pnggccrd.c @echo ""libpng.a: $(OBJS) ar rc $@ $(OBJS) $(RANLIB) $@libpng.so: libpng.so.$(PNGMAJ) ln -sf libpng.so.$(PNGMAJ) libpng.solibpng.so.$(PNGMAJ): libpng.so.$(PNGVER) ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ)libpng.so.$(PNGVER): $(OBJSDLL) $(CC) -shared -Wl,-soname,libpng.so.$(PNGMAJ) -o libpng.so.$(PNGVER) \ $(OBJSDLL) -L$(ZLIBLIB) -lz -lm -lcpngtest: pngtest.o libpng.so $(CC) -o pngtest $(CFLAGS) pngtest.o $(LDFLAGS)pngtest-static: pngtest.o libpng.a $(CC) -o pngtest-static $(CFLAGS) pngtest.o $(LDFLAGS_A)test: pngtest pngtest-static @echo "" @echo " Testing dynamically linked version:" @echo "" ./pngtest @echo "" @echo " Testing statically linked version:" @echo "" ./pngtest-staticinstall: libpng.a libpng.so.$(PNGVER) -@if [ ! -d $(INCPATH) ]; then mkdir $(INCPATH); fi -@if [ ! -d $(LIBPATH) ]; then mkdir $(LIBPATH); fi cp png.h pngconf.h $(INCPATH) chmod 644 $(INCPATH)/png.h $(INCPATH)/pngconf.h cp libpng.a libpng.so.$(PNGVER) $(LIBPATH) chmod 755 $(LIBPATH)/libpng.so.$(PNGVER) -@/bin/rm -f $(LIBPATH)/libpng.so.$(PNGMAJ) $(LIBPATH)/libpng.so (cd $(LIBPATH); ln -sf libpng.so.$(PNGVER) libpng.so.$(PNGMAJ); \ ln -sf libpng.so.$(PNGMAJ) libpng.so)clean: /bin/rm -f *.o libpng.a libpng.so* pngtest pngout.pngDOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFOwritelock: chmod a-w *.[ch35] $(DOCS) scripts/*png.o png.pic.o: png.h pngconf.h png.cpngerror.o pngerror.pic.o: png.h pngconf.h pngerror.cpngrio.o pngrio.pic.o: png.h pngconf.h pngrio.cpngwio.o pngwio.pic.o: png.h pngconf.h pngwio.cpngmem.o pngmem.pic.o: png.h pngconf.h pngmem.cpngset.o pngset.pic.o: png.h pngconf.h pngset.cpngget.o pngget.pic.o: png.h pngconf.h pngget.cpngread.o pngread.pic.o: png.h pngconf.h pngread.cpngrtran.o pngrtran.pic.o: png.h pngconf.h pngrtran.cpngrutil.o pngrutil.pic.o: png.h pngconf.h pngrutil.cpngtrans.o pngtrans.pic.o: png.h pngconf.h pngtrans.cpngwrite.o pngwrite.pic.o: png.h pngconf.h pngwrite.cpngwtran.o pngwtran.pic.o: png.h pngconf.h pngwtran.cpngwutil.o pngwutil.pic.o: png.h pngconf.h pngwutil.cpngpread.o pngpread.pic.o: png.h pngconf.h pngpread.cpngtest.o: png.h pngconf.h pngtest.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -