Home | History | Annotate | Download | only in scripts
      1 # Makefile for libpng
      2 # 32-bit Borland C++ (Note: All modules are compiled in C mode)
      3 # To build the library, do:
      4 #       "make -fmakefile.bc32"
      5 #
      6 # -------------------- 32-bit Borland C++ --------------------
      7 
      8 ### Absolutely necessary for this makefile to work
      9 .AUTODEPEND
     10 
     11 ## Where zlib.h, zconf.h and zlib.lib are
     12 ZLIB_DIR=..\zlib
     13 
     14 ## Compiler, linker and lib stuff
     15 CC=bcc32
     16 LD=bcc32
     17 LIB=tlib
     18 
     19 # -3 = 386, -4 = 486, -5 = Pentium etc.
     20 !ifndef TARGET_CPU
     21 #TARGET_CPU=-6
     22 !endif
     23 
     24 # Use this if you don't want Borland's fancy exception handling
     25 # (Caution: doesn't work with CBuilderX)
     26 #NOEHLIB=noeh32.lib
     27 
     28 !ifdef DEBUG
     29 CDEBUG=-v
     30 LDEBUG=-v
     31 !else
     32 CDEBUG=
     33 LDEBUG=
     34 !endif
     35 
     36 # STACKOFLOW=1
     37 !ifdef STACKOFLOW
     38 CDEBUG=$(CDEBUG) -N
     39 LDEBUG=$(LDEBUG) -N
     40 !endif
     41 
     42 # -O2 optimize for speed
     43 # -d  merge duplicate strings
     44 # -k- turn off standard stack frame
     45 # -w  display all warnings
     46 CFLAGS=-I$(ZLIB_DIR) -O2 -d -k- -w $(TARGET_CPU) $(CDEBUG)
     47 
     48 # -M  generate map file
     49 LDFLAGS=-L$(ZLIB_DIR) -M $(LDEBUG)
     50 
     51 ## Variables
     52 OBJS = \
     53 	png.obj \
     54 	pngerror.obj \
     55 	pngget.obj \
     56 	pngmem.obj \
     57 	pngpread.obj \
     58 	pngread.obj \
     59 	pngrio.obj \
     60 	pngrtran.obj \
     61 	pngrutil.obj \
     62 	pngset.obj \
     63 	pngtrans.obj \
     64 	pngwio.obj \
     65 	pngwrite.obj \
     66 	pngwtran.obj \
     67 	pngwutil.obj
     68 
     69 LIBOBJS = \
     70 	+png.obj \
     71 	+pngerror.obj \
     72 	+pngget.obj \
     73 	+pngmem.obj \
     74 	+pngpread.obj \
     75 	+pngread.obj \
     76 	+pngrio.obj \
     77 	+pngrtran.obj \
     78 	+pngrutil.obj \
     79 	+pngset.obj \
     80 	+pngtrans.obj \
     81 	+pngwio.obj \
     82 	+pngwrite.obj \
     83 	+pngwtran.obj \
     84 	+pngwutil.obj
     85 
     86 LIBNAME=libpng.lib
     87 
     88 ## Implicit rules
     89 # Braces let make "batch" calls to the compiler,
     90 # 2 calls instead of 12; space is important.
     91 .c.obj:
     92 	$(CC) $(CFLAGS) -c {$*.c }
     93 
     94 .c.exe:
     95 	$(CC) $(CFLAGS) $(LDFLAGS) $*.c $(LIBNAME) zlib.lib $(NOEHLIB)
     96 
     97 .obj.exe:
     98 	$(LD) $(LDFLAGS) $*.obj $(LIBNAME) zlib.lib $(NOEHLIB)
     99 
    100 ## Major targets
    101 all: libpng pngtest
    102 
    103 libpng: $(LIBNAME)
    104 
    105 pngtest: pngtest.exe
    106 
    107 test: pngtest.exe
    108 	pngtest
    109 
    110 ## Minor Targets
    111 
    112 png.obj: png.c png.h pngconf.h
    113 pngerror.obj: pngerror.c png.h pngconf.h
    114 pngget.obj: pngget.c png.h pngconf.h
    115 pngmem.obj: pngmem.c png.h pngconf.h
    116 pngpread.obj: pngpread.c png.h pngconf.h
    117 pngread.obj: pngread.c png.h pngconf.h
    118 pngrio.obj: pngrio.c png.h pngconf.h
    119 pngrtran.obj: pngrtran.c png.h pngconf.h
    120 pngrutil.obj: pngrutil.c png.h pngconf.h
    121 pngset.obj: pngset.c png.h pngconf.h
    122 pngtrans.obj: pngtrans.c png.h pngconf.h
    123 pngwio.obj: pngwio.c png.h pngconf.h
    124 pngwrite.obj: pngwrite.c png.h pngconf.h
    125 pngwtran.obj: pngwtran.c png.h pngconf.h
    126 pngwutil.obj: pngwutil.c png.h pngconf.h
    127 pngtest.obj: pngtest.c png.h pngconf.h
    128 
    129 $(LIBNAME): $(OBJS)
    130 	-del $(LIBNAME)
    131 	$(LIB) $(LIBNAME) @&&|
    132 $(LIBOBJS), libpng
    133 |
    134 
    135 # Cleanup
    136 clean:
    137 	-del *.obj
    138 	-del $(LIBNAME)
    139 	-del pngtest.exe
    140 	-del *.lst
    141 	-del *.map
    142 	-del *.tds
    143 	-del pngout.png
    144 
    145 # End of makefile for libpng
    146