ifeq ($(SRCDIR)x,x) SRCDIR = $(CURDIR)/../../.. BUILDDIR = $(SRCDIR) endif SUBDIR = converter/ppm/ppmtompeg VPATH=.:$(SRCDIR)/$(SUBDIR) include $(BUILDDIR)/config.mk ifeq ($(JPEGLIB),NONE) # 'nojpeg' is a module that implements all the jpeg access routines as # error messages that tell you we don't have jpeg capability JPEG_MODULE = nojpeg JPEGLIBX = else # 'jpeg' is a module that accesses J-movies via the JPEG library. JPEG_MODULE = jpeg JPEGLIBX = $(JPEGLIB) endif COMP_INCLUDES = -I$(SRCDIR)/$(SUBDIR)/headers EXTERN_INCLUDES = ifneq ($(JPEGHDR_DIR),NONE) ifneq ($(JPEGHDR_DIR)x,x) EXTERN_INCLUDES += -I$(JPEGHDR_DIR) endif endif # use -DLONG_32 iff # 1) long's are 32 bits and # 2) int's are not # # one other option: # -DHEINOUS_DEBUG_MODE # MP_BASE_OBJS = \ mfwddct.o \ postdct.o \ huff.o \ bitio.o \ mheaders.o \ MP_ENCODE_OBJS = \ frames.o \ iframe.o \ pframe.o \ bframe.o \ psearch.o \ bsearch.o \ block.o \ MP_OTHER_OBJS = \ mpeg.o \ subsample.o \ param.o \ rgbtoycc.o \ readframe.o \ combine.o \ jrevdct.o \ frame.o \ fsize.o \ frametype.o \ specifics.o \ rate.o \ opts.o \ input.o \ ifeq ($(OMIT_NETWORK),Y) MP_OTHER_OBJS += noparallel.o else MP_OTHER_OBJS += parallel.o psocket.o endif ifeq ($(MSVCRT),Y) MP_OTHER_OBJS += gethostname_win32.o else MP_OTHER_OBJS += gethostname.o endif ADDL_OBJECTS = \ $(MP_BASE_OBJS) \ $(MP_OTHER_OBJS) \ $(MP_ENCODE_OBJS) \ $(JPEG_MODULE).o \ OBJECTS = ppmtompeg.o $(ADDL_OBJECTS) MERGE_OBJECTS = ppmtompeg.o2 $(ADDL_OBJECTS) MP_INCLUDE = mproto.h mtypes.h huff.h bitio.h MP_MISC = Makefile huff.table parse_huff.pl PORTBINARIES = ppmtompeg BINARIES = $(PORTBINARIES) MERGEBINARIES = $(BINARIES) SCRIPTS = .PHONY: all all: ppmtompeg include $(SRCDIR)/common.mk ifeq ($(NEED_RUNTIME_PATH),Y) LIBOPTR = -runtime else LIBOPTR = endif ppmtompeg: $(ADDL_OBJECTS) $(LIBOPT) ppmtompeg: LDFLAGS_TARGET = \ $(shell $(LIBOPT) $(LIBOPTR) $(JPEGLIBX)) $(NETWORKLD) profile: $(ADDL_OBJECTS) $(LIBOPT) profile: LDFLAGS_TARGET = \ -Bstatic -pg \ $(shell $(LIBOPT) $(LIBOPTR) $(JPEGLIBX)) $(NETWORKLD) ######### # OTHER # ######### # # Perl is necessary if you want to modify the Huffman RLE encoding table. # PERL = perl # The following stuff is for the Huffman encoding tables. It's commented-out # because you probably don't want to change this. If you do, then uncomment # it. # # huff.h: huff.c # # huff.c: parse_huff.pl huff.table # $(PERL) parse_huff.pl huff.table MP_ALL_SRCS = $(patsubst %.o, %.c, $(MP_ALL_OBJS)) wc:; wc -l *.[ch] headers/*.h *.pl *.table ci:; ci -l $(MP_ALL_SRCS) $(MP_INCLUDE) $(MP_MISC) tags: $(MP_ALL_SRCS) ctags -t $(MP_ALL_SRCS) etags -f TAGS -t $(MP_ALL_SRCS) headers/*.h # # WARNING: this assumes you're using GNU indent... # indent:; indent -T FILE -T int8 -T int16 -T int32 -T uint8 -T uint16 -T uint32 -T BitBucket -T MpegFrame -T Block -T FlatBlock $(MP_ALL_SRCS) spotless: clean rm -f huff.c huff.h *.pure.a FORCE: # # Copyright (c) 1995 The Regents of the University of California. # All rights reserved. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose, without fee, and without written agreement is # hereby granted, provided that the above copyright notice and the following # two paragraphs appear in all copies of this software. # # IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT # OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF # CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY # AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS # ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO # PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. #