summaryrefslogtreecommitdiff
path: root/makefile.unix
diff options
context:
space:
mode:
Diffstat (limited to 'makefile.unix')
-rw-r--r--makefile.unix152
1 files changed, 152 insertions, 0 deletions
diff --git a/makefile.unix b/makefile.unix
new file mode 100644
index 0000000..0f11afa
--- /dev/null
+++ b/makefile.unix
@@ -0,0 +1,152 @@
+# Makefile for Independent JPEG Group's software
+
+# This makefile is suitable for Unix-like systems.
+
+# See README and edit jconfig.h before saying "make" !!
+
+# Comment out this line if you don't have gcc:
+CC=gcc
+
+# You may need to adjust these cc options:
+CFLAGS= -O -g -Wall -DHAVE_GETOPT -DMEM_STATS
+LDFLAGS= -g
+# In particular:
+# Remove -g and -Wall if not using gcc.
+# Add -DBSD if on a pure BSD system (see jinclude.h).
+# Remove -DHAVE_GETOPT if you don't have getopt(3) (see jcmain.c, jdmain.c).
+# -DMEM_STATS is optional -- it enables gathering of memory usage statistics.
+# You may also want to add -DTWO_FILE_COMMANDLINE or -D switches for other
+# symbols listed in jconfig.h, if you prefer not to change jconfig.h.
+# If your compiler is non-ANSI, also see the .c.o rule below.
+
+# On HP-UX (and probably other SysV systems) the alternate malloc(3X) is a lot
+# faster than the standard malloc; this makes a noticeable difference in the
+# startup time when handling big noninterleaved images. I say "-lmalloc" to
+# get the alternate allocator. On most non-SysV systems you can just
+# define LDLIBS as empty.
+LDLIBS= -lmalloc
+
+# miscellaneous OS-dependent stuff
+LN= $(CC) # linker
+RM= rm -f # file deletion command
+AR= ar rc # library (.a) file creation command
+AR2= ranlib # second step in .a creation (use "touch" if not needed)
+
+
+# source files
+INCLUDES= jinclude.h jconfig.h jpegdata.h
+SOURCES= jbsmooth.c jcarith.c jccolor.c jcdeflts.c jcexpand.c \
+ jchuff.c jcmain.c jcmaster.c jcmcu.c jcpipe.c jcsample.c \
+ jdarith.c jdcolor.c jdhuff.c jdmain.c jdmaster.c jdmcu.c \
+ jdpipe.c jdsample.c jerror.c jfwddct.c jquant1.c jquant2.c \
+ jrdjfif.c jrdgif.c jrdppm.c jrevdct.c jutils.c jvirtmem.c \
+ jwrjfif.c jwrgif.c jwrppm.c egetopt.c
+DOCS= README architecture codingrules
+MAKEFILES= makefile.unix makefile.amiga \
+ makefile.mc5 makefile.mc6 makcjpeg.lnk makdjpeg.lnk \
+ makefile.pwc makcjpeg.cf makdjpeg.cf makljpeg.cf
+TESTFILES= testorig.jpg testimg.ppm testimg.jpg
+DISTFILES= $(DOCS) $(MAKEFILES) ansi2knr.c $(SOURCES) $(INCLUDES) $(TESTFILES)
+
+# compression objectfiles
+COBJECTS = jcmain.o jcmaster.o jcdeflts.o jcarith.o jccolor.o jcexpand.o \
+ jchuff.o jcmcu.o jcpipe.o jcsample.o jfwddct.o \
+ jrdgif.o jrdppm.o jwrjfif.o \
+ jutils.o jvirtmem.o jerror.o
+# decompression objectfiles
+DOBJECTS = jdmain.o jdmaster.o jbsmooth.o jdarith.o jdcolor.o jdhuff.o \
+ jdmcu.o jdpipe.o jdsample.o jquant1.o jquant2.o jrevdct.o \
+ jrdjfif.o jwrgif.o jwrppm.o \
+ jutils.o jvirtmem.o jerror.o
+# These objectfiles are included in libjpeg.a (all but jcmain.o, jdmain.o)
+LIBOBJECTS = jcmaster.o jcdeflts.o jcarith.o jccolor.o jcexpand.o \
+ jchuff.o jcmcu.o jcpipe.o jcsample.o jfwddct.o \
+ jrdgif.o jrdppm.o jwrjfif.o \
+ jdmaster.o jbsmooth.o jdarith.o jdcolor.o jdhuff.o \
+ jdmcu.o jdpipe.o jdsample.o jquant1.o jquant2.o jrevdct.o \
+ jrdjfif.o jwrgif.o jwrppm.o \
+ jutils.o jvirtmem.o jerror.o
+
+
+all: cjpeg djpeg
+# By default, libjpeg.a is not built unless you explicitly request it.
+
+
+# If you have a C compiler that doesn't understand function prototypes,
+# uncomment the 5 lines below and make sure PROTO is not defined by jconfig.h.
+# Then say "make ansi2knr" before "make".
+
+#.c.o:
+# ./ansi2knr $*.c tmpansi.c
+# $(CC) $(CFLAGS) -c tmpansi.c
+# mv tmpansi.o $*.o
+# $(RM) tmpansi.c
+
+ansi2knr: ansi2knr.c
+ $(CC) -o ansi2knr ansi2knr.c
+# You may need to add one of -DBSD, -DVMS, or -DMSDOS to the line above.
+
+
+cjpeg: $(COBJECTS)
+ $(LN) $(LDFLAGS) -o cjpeg $(COBJECTS) $(LDLIBS)
+
+djpeg: $(DOBJECTS)
+ $(LN) $(LDFLAGS) -o djpeg $(DOBJECTS) $(LDLIBS)
+
+# libjpeg.a is useful if you are including the JPEG software in a larger
+# program; you'd include it in your link, rather than the individual modules.
+libjpeg.a: $(LIBOBJECTS)
+ $(RM) libjpeg.a
+ $(AR) libjpeg.a $(LIBOBJECTS)
+ $(AR2) libjpeg.a
+
+clean:
+ $(RM) *.o cjpeg djpeg libjpeg.a ansi2knr core tmpansi.* testout.ppm testout.jpg
+
+distribute:
+ $(RM) jpegsrc.tar*
+ tar cvf jpegsrc.tar $(DISTFILES)
+ ls -l jpegsrc.tar
+ compress -v jpegsrc.tar
+ ls -l jpegsrc.tar*
+
+test: cjpeg djpeg
+ $(RM) testout.ppm testout.jpg
+ ./djpeg testorig.jpg >testout.ppm
+ ./cjpeg testimg.ppm >testout.jpg
+ cmp testimg.ppm testout.ppm
+ cmp testimg.jpg testout.jpg
+
+
+jbsmooth.o : jbsmooth.c jinclude.h jconfig.h jpegdata.h
+jcarith.o : jcarith.c jinclude.h jconfig.h jpegdata.h
+jccolor.o : jccolor.c jinclude.h jconfig.h jpegdata.h
+jcdeflts.o : jcdeflts.c jinclude.h jconfig.h jpegdata.h
+jcexpand.o : jcexpand.c jinclude.h jconfig.h jpegdata.h
+jchuff.o : jchuff.c jinclude.h jconfig.h jpegdata.h
+jcmain.o : jcmain.c jinclude.h jconfig.h jpegdata.h egetopt.c
+jcmaster.o : jcmaster.c jinclude.h jconfig.h jpegdata.h
+jcmcu.o : jcmcu.c jinclude.h jconfig.h jpegdata.h
+jcpipe.o : jcpipe.c jinclude.h jconfig.h jpegdata.h
+jcsample.o : jcsample.c jinclude.h jconfig.h jpegdata.h
+jdarith.o : jdarith.c jinclude.h jconfig.h jpegdata.h
+jdcolor.o : jdcolor.c jinclude.h jconfig.h jpegdata.h
+jdhuff.o : jdhuff.c jinclude.h jconfig.h jpegdata.h
+jdmain.o : jdmain.c jinclude.h jconfig.h jpegdata.h egetopt.c
+jdmaster.o : jdmaster.c jinclude.h jconfig.h jpegdata.h
+jdmcu.o : jdmcu.c jinclude.h jconfig.h jpegdata.h
+jdpipe.o : jdpipe.c jinclude.h jconfig.h jpegdata.h
+jdsample.o : jdsample.c jinclude.h jconfig.h jpegdata.h
+jerror.o : jerror.c jinclude.h jconfig.h jpegdata.h
+jfwddct.o : jfwddct.c jinclude.h jconfig.h jpegdata.h
+jquant1.o : jquant1.c jinclude.h jconfig.h jpegdata.h
+jquant2.o : jquant2.c jinclude.h jconfig.h jpegdata.h
+jrdjfif.o : jrdjfif.c jinclude.h jconfig.h jpegdata.h
+jrdgif.o : jrdgif.c jinclude.h jconfig.h jpegdata.h
+jrdppm.o : jrdppm.c jinclude.h jconfig.h jpegdata.h
+jrevdct.o : jrevdct.c jinclude.h jconfig.h jpegdata.h
+jutils.o : jutils.c jinclude.h jconfig.h jpegdata.h
+jvirtmem.o : jvirtmem.c jinclude.h jconfig.h jpegdata.h
+jwrjfif.o : jwrjfif.c jinclude.h jconfig.h jpegdata.h
+jwrgif.o : jwrgif.c jinclude.h jconfig.h jpegdata.h
+jwrppm.o : jwrppm.c jinclude.h jconfig.h jpegdata.h