home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / xv310a / makefile.std < prev    next >
Makefile  |  1995-06-12  |  16KB  |  320 lines

  1. # Makefile for xv
  2.  
  3. # your C compiler (and options) of choice
  4. CC = cc
  5. # CC = gcc -ansi
  6.  
  7. # use this if you're using 'cc' on a DEC Alpha (OSF/1) or MIPS (Ultrix) system:
  8. # CC = cc -std1 -Olimit 750
  9.  
  10. # this is what I personally use on an OSF Alpha.  Not that I recommend it.
  11. # CC = gcc -g -ansi -pedantic -W -Wreturn-type  -Wmissing-prototypes \
  12. #       -Wstrict-prototypes -Waggregate-return -Wconversion \
  13. #       -Wpointer-arith -Wcomment -Wformat -Wchar-subscripts \
  14. #       -Wuninitialized -Wparentheses
  15.  
  16.  
  17. CCOPTS = -O 
  18.  
  19.  
  20. ### NOTE: Sun running OpenWindows:
  21. ### if you're using a SUN running OPENWINDOWS, you need to add these two
  22. ### options to the CCOPTS line, so it finds the libs and include files
  23. ###   -L/usr/openwin/lib -I/usr/openwin/include
  24. ###
  25. ### In general, if your X11 include files and libX11.a library aren't in the
  26. ### 'standard' places in which the C compiler looks, you should add '-L' and
  27. ### '-I' options on the CCOPTS line to tell the compiler where said files are.
  28.  
  29.  
  30. ### Installation locations
  31. BINDIR = /usr/local/bin
  32. MANDIR = /usr/local/man/man1
  33. MANSUF = 1
  34. LIBDIR = /usr/local/lib
  35.  
  36.  
  37. buildit: all
  38.  
  39.  
  40. ########################### CONFIGURATION OPTIONS ############################
  41. ### NOTE: be sure to check 'config.h', for a few other configuration options 
  42. ##############################################################################
  43.  
  44. ###
  45. ### if, for whatever reason, you're unable to get the JPEG library to compile
  46. ### on your machine, *COMMENT OUT* the following lines
  47. ###
  48. JPEG    = -DDOJPEG
  49. JPEGDIR = jpeg
  50. JPEGINC = -I$(JPEGDIR)
  51. JPEGLIB = $(JPEGDIR)/libjpeg.a
  52. $(JPEGDIR)/jconfig.h:
  53.     cd $(JPEGDIR) ; ./configure CC='$(CC)'
  54. $(JPEGLIB):  $(JPEGDIR)/jconfig.h
  55.     cd $(JPEGDIR) ; make
  56.  
  57.  
  58. ###
  59. ### if, for whatever reason, you're unable to get the TIFF library to compile
  60. ### on your machine, *COMMENT OUT* the following lines
  61. ###
  62. TIFF    = -DDOTIFF
  63. TIFFDIR = tiff
  64. TIFFINC = -I$(TIFFDIR)
  65. TIFFLIB = $(TIFFDIR)/libtiff.a
  66. $(TIFFLIB):
  67.     ( cd $(TIFFDIR) ; make CC='$(CC)' )
  68.  
  69.  
  70. ###
  71. ### if, for whatever reason, you're unable to get the PDS/VICAR support
  72. ### to compile (xvpds.c, and vdcomp.c), *COMMENT OUT* the following line,
  73. ### and also remove 'vdcomp' from the 'all:' dependancy 
  74. ###
  75. PDS = -DDOPDS
  76.  
  77.  
  78. #----------System V----------
  79.  
  80. # if you are running on a SysV-based machine, such as HP, Silicon Graphics,
  81. # Solaris, etc., uncomment the following line to get mostly there.  
  82. #UNIX = -DSVR4
  83.  
  84.  
  85. #----------Machine Specific Configurations----------
  86.  
  87. ### If you are using an SGI system, uncomment the following line
  88. #MCHN = -Dsgi
  89.  
  90.  
  91. ### For HP-UX, uncomment the following line:
  92. #MCHN= -Dhpux -D_HPUX_SOURCE
  93. # To use old HP compilers (HPUX 7.0 or so), you may need
  94. #MCHN= -Dhpux -D_HPUX_SOURCE +Ns4000
  95. #
  96. # also, if you're using HP's compiler, add '-Aa' to whichever of those
  97. # two lines you're using, to turn on ANSI C mode.  Or so I'm told.
  98. #
  99. # note:  You may need to add '-I/usr/include/X11R5' (or R6, or whatever)
  100. # to whichever of those lines you used, as HP tends to store their X11
  101. # include files in a non-standard place...
  102.  
  103.  
  104. ### for LINUX, uncomment the following line
  105. #MCHN = -DLINUX
  106.  
  107.  
  108. # For SCO 1.1 (UNIX 3.2v2) machines, uncomment the following:
  109. #MCHN = -Dsco -DPOSIX
  110. #
  111. # For ODT 2.0 (UNIX 3.2v4) machines, uncomment the following:
  112. #MCHN= -Dsco -DPOSIX -DNO_RANDOM 
  113. #
  114. # Also, you should add '-lc -lx' to the end of the LIBS def below
  115. # -lx must be after -lc so you get the right directory routines.
  116.  
  117.  
  118. # for UMAX V by Encore Computers uncomment the following line for
  119. # the portable c compiler, system specific definitions and
  120. # location of local X11 library(if site specific, modify -L option)
  121. # No other switches should be necessary, or so I'm told...
  122. #
  123. #MCHN = -q extensions=pcc_c -D__UMAXV__ -L/usr2/usr/lib/X11 -DSVR4
  124.  
  125. # For Interactive/SunSoft Unix ISC 4.0  (whatever *that* is!)
  126. #MCHN = -DSVR4 -DBSDTYPES
  127.  
  128.  
  129. #----------'Roll Your Own' Options----------
  130.  
  131.  
  132. # if your machine doesn't have 'random()', but does have 'rand()',
  133. # uncomment the following line:
  134. #
  135. #RAND = -DNO_RANDOM
  136.  
  137.  
  138. # if your system *doesn't* have /usr/include/dirent.h, (ie, isn't POSIX
  139. # compliant, then you may have to uncomment the following line to use the
  140. # 'old-style' directory-handling structures
  141. #
  142. #NODIRENT = -DNODIRENT
  143.  
  144.  
  145. # if your machine has the usleep() function, uncomment the following line:
  146. # if it doesn't, or you're not sure, leave this line alone.
  147. #TIMERS = -DUSLEEP
  148.  
  149.  
  150. # if XV locks up whenever you click on *any* of the buttons, the Timer() 
  151. # function in xvmisc.c is going out to lunch.  A simple workaround is to 
  152. # uncomment the following line:
  153. #TIMERS = -DNOTIMER
  154.  
  155.  
  156. # if you are running under DXWM, I pity you.  XV doesn't work correctly
  157. # under DXWM.  You should probably be running MWM.  However, if such is
  158. # not an option for you, try uncommenting the following line.  The
  159. # behavior won't be 'right', but it will be less 'wrong'.
  160. #DXWM = -DDXWM
  161.  
  162.  
  163. # if, during compilation, your system complains about the types 
  164. # 'u_long', 'u_short', 'u_int', etc. as being undefined, uncomment the
  165. # following line:
  166. #BSDTYPES = -DBSDTYPES
  167.  
  168.  
  169. # if your machine doesn't have 'vprintf()' or 'vsprintf()'
  170. #          (see vprintf.c for more information, if needed)
  171. #
  172. #  (for BSD 4.3 VAX, uncomment the following line)
  173. #VPRINTF = -DNEED_VPRINTF -DINTSPRINTF -DLONGINT -DNOVOID
  174. #  (for (stock) IBM RT AOS 4.3, uncomment the following line)
  175. #VPRINTF = -DNEED_VPRINTF -DLONGINT -DNOSTDHDRS
  176. #  (for Sequent running DYNIX 3.1.4, uncomment the following line)
  177. #VPRINTF = -DNEED_VPRINTF -DLONGINT -DNOSTDHDRS
  178.  
  179.  
  180.  
  181.  
  182. ################ END OF CONFIGURATION OPTIONS #################
  183.  
  184.  
  185.  
  186.  
  187. CFLAGS = $(CCOPTS) $(JPEG) $(JPEGINC) $(TIFF) $(TIFFINC) $(PDS) \
  188.     $(NODIRENT) $(VPRINTF) $(TIMERS) $(UNIX) $(BSDTYPES) $(RAND) \
  189.     $(DXWM) $(MCHN)
  190.  
  191. LIBS = -lX11 $(JPEGLIB) $(TIFFLIB) -lm
  192.  
  193. OBJS =     xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
  194.     xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
  195.     xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvbmp.o \
  196.     xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \
  197.     xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \
  198.     xvbrowse.o xvtext.o xvpcx.o xviff.o xvtarga.o xvxpm.o xvcut.o \
  199.     xvxwd.o xvfits.o
  200.  
  201. MISC = README INSTALL CHANGELOG IDEAS
  202.  
  203.  
  204.  
  205. .c.o:    ; $(CC) $(CFLAGS) -c $*.c
  206.  
  207.  
  208.  
  209. all: $(JPEGLIB) $(TIFFLIB) xv bggen vdcomp xcmap xvpictoppm
  210.  
  211.  
  212. xv: $(OBJS) $(JPEGLIB) $(TIFFLIB)
  213.     $(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS)
  214.  
  215. bggen: bggen.c
  216.     $(CC) $(CFLAGS) -o bggen bggen.c $(LIBS)
  217.  
  218. vdcomp: vdcomp.c
  219.     $(CC) $(CFLAGS) -o vdcomp vdcomp.c
  220.  
  221. xcmap:  xcmap.c
  222.     $(CC) $(CFLAGS) -o xcmap xcmap.c $(LIBS)
  223.  
  224. xvpictoppm:  xvpictoppm.c
  225.     $(CC) $(CFLAGS) -o xvpictoppm xvpictoppm.c
  226.  
  227.  
  228.  
  229. xvclean:
  230.     rm -f $(OBJS) xv
  231.  
  232. clean:  xvclean
  233.     rm -f bggen vdcomp xcmap xvpictoppm
  234.     ./cleandir $(JPEGDIR)
  235.     rm -f $(JPEGDIR)/jconfig.h $(JPEGDIR)/Makefile
  236.     ./cleandir $(TIFFDIR)
  237.  
  238.  
  239. install: all
  240.     cp xv bggen vdcomp xcmap xvpictoppm $(BINDIR)
  241.     cp docs/xv.man     $(MANDIR)/xv.$(MANSUF)
  242.     cp docs/bggen.man  $(MANDIR)/bggen.$(MANSUF)
  243.     cp docs/xcmap.man  $(MANDIR)/xcmap.$(MANSUF)
  244.     cp docs/xvp2p.man  $(MANDIR)/xvpictoppm.$(MANSUF)
  245.     cp docs/vdcomp.man $(MANDIR)/vdcomp.$(MANSUF)
  246.     cp docs/xvdocs.ps* $(LIBDIR)
  247.  
  248. tar:
  249.     tar cvf xv.tar Makefile* Imakefile *.c *.h bits \
  250.         docs unsupt vms $(JPEGDIR) $(TIFFDIR) $(MISC) 
  251.  
  252. xvtar:
  253.     tar cvf xv.tar Makefile* Imakefile *.c *.h bits
  254.  
  255. $(OBJS):   xv.h config.h
  256.  
  257.  
  258. ################# bitmap dependencies ####################
  259.  
  260. xv.o:          bits/icon bits/iconmask bits/runicon bits/runiconm
  261. xv.o:          bits/cboard50 bits/gray25 
  262.  
  263. xvbrowse.o:    bits/br_file bits/br_dir bits/br_exe bits/br_chr bits/br_blk
  264. xvbrowse.o:    bits/br_sock bits/br_fifo bits/br_error bits/br_unknown
  265. xvbrowse.o:    bits/br_cmpres bits/br_gif bits/br_pm bits/br_pbm
  266. xvbrowse.o:    bits/br_sunras bits/br_bmp bits/br_utah bits/br_iris
  267. xvbrowse.o:    bits/br_pcx bits/br_jfif bits/br_tiff bits/br_pds 
  268. xvbrowse.o:    bits/br_ps bits/br_iff bits/br_targa bits/br_xpm
  269. xvbrowse.o:    bits/br_trash bits/fcurs bits/fccurs bits/fdcurs bits/fcursm
  270. xvbrowse.o:     bits/br_xwd
  271.  
  272. xvbutt.o:    bits/cboard50 bits/rb_frame bits/rb_frame1 bits/rb_top
  273. xvbutt.o:    bits/rb_bot bits/rb_dtop bits/rb_dbot bits/rb_body
  274. xvbutt.o:    bits/rb_dot bits/cb_check bits/mb_chk
  275.  
  276. xvctrl.o:    bits/gray25 bits/gray50 bits/i_fifo bits/i_chr bits/i_dir
  277. xvctrl.o:     bits/i_blk bits/i_lnk bits/i_sock bits/i_exe bits/i_reg
  278. xvctrl.o:    bits/h_rotl bits/h_rotr bits/fliph bits/flipv bits/p10
  279. xvctrl.o:    bits/m10 bits/cut bits/copy bits/paste bits/clear 
  280. xvctrl.o:    bits/uicon bits/oicon1 bits/oicon2 bits/icon
  281. xvctrl.o:    bits/padimg bits/annot
  282.  
  283. xvcut.o:    bits/cut bits/cutm bits/copy bits/copym
  284.  
  285. xvdflt.o:    bits/logo_top bits/logo_bot bits/logo_out bits/xv_jhb
  286. xvdflt.o:    bits/xv_cpyrt bits/xv_rev bits/xv_ver
  287. xvdflt.o:    bits/xf_left bits/xf_right bits/font5x9.h
  288. xvdflt.o:       xvdflt.h
  289.  
  290. xvdial.o:    bits/dial_cw1 bits/dial_ccw1 bits/dial_cw2 bits/dial_ccw2
  291.  
  292. xvdir.o:    bits/d_load bits/d_save
  293.  
  294. xvevent.o:    bits/dropper bits/dropperm bits/pen bits/penm 
  295. xvevent.o:    bits/blur bits/blurm
  296.  
  297. xvgam.o:    bits/h_rotl bits/h_rotr bits/h_flip bits/h_sinc bits/h_sdec
  298. xvgam.o:    bits/h_sat bits/h_desat
  299.  
  300. xvgraf.o:    bits/gf1_addh bits/gf1_delh bits/gf1_line bits/gf1_spln
  301. xvgraf.o:    bits/gf1_rst bits/gf1_gamma
  302.  
  303. xvinfo.o:    bits/penn bits/pennnet
  304.  
  305. xvmisc.o:    bits/fc_left bits/fc_leftm bits/fc_left1 bits/fc_left1m
  306. xvmisc.o:    bits/fc_mid bits/fc_midm bits/fc_right1 bits/fc_right1m
  307. xvmisc.o:    bits/fc_right bits/fc_rightm
  308.  
  309. xvpopup.o:    bits/icon
  310.  
  311. xvroot.o:    bits/root_weave
  312.  
  313. xvscrl.o:    bits/up bits/down bits/up1 bits/down1 bits/uph bits/downh
  314. xvscrl.o:    bits/uph1 bits/downh1 bits/scrlgray
  315.  
  316. ################# end bitmap dependencies ####################
  317.  
  318.  
  319.