########################################################################## # Makefile for Basic Compression Library. # Compiler: GNU C compiler # $Id: Makefile,v 1.4 2004/12/07 21:24:26 marcus256 Exp $ #------------------------------------------------------------------------- # Copyright (c) 2003-2004 Marcus Geelnard # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would # be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not # be misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source # distribution. # # Marcus Geelnard # marcus.geelnard at home.se ########################################################################## ########################################################################## # Compiler settings ########################################################################## CC = gcc CFLAGS = -c -Wall -W -Wtraditional -ansi -pedantic -O3 LFLAGS = -s ########################################################################## # Library building settings ########################################################################## MKLIB = ar LIBFLAGS = -rcs LIBNAME = libbcl.a ########################################################################## # Library object files ########################################################################## LIBOBJS = rle.o huffman.o rice.o lz.o ########################################################################## # Default build option ########################################################################## all: $(LIBNAME) bfc.exe bcltest.exe ########################################################################## # Library building rule ########################################################################## $(LIBNAME): $(LIBOBJS) $(MKLIB) $(LIBFLAGS) $(LIBNAME) $(LIBOBJS) ########################################################################## # Executable building rule ########################################################################## bfc.exe: bfc.o $(LIBNAME) $(CC) $(LFLAGS) bfc.o $(LIBNAME) -o bfc.exe bcltest.exe: bcltest.o $(LIBNAME) $(CC) $(LFLAGS) bcltest.o $(LIBNAME) -o bcltest.exe ########################################################################## # Library object compiler rules ########################################################################## rle.o: rle.c rle.h $(CC) $(CFLAGS) rle.c huffman.o: huffman.c huffman.h $(CC) $(CFLAGS) huffman.c rice.o: rice.c rice.h $(CC) $(CFLAGS) rice.c lz.o: lz.c lz.h $(CC) $(CFLAGS) lz.c ########################################################################## # Executable compiler rules ########################################################################## bfc.o: bfc.c rle.h huffman.h rice.h lz.h $(CC) -c -Wall -W -Wtraditional -pedantic -O3 bfc.c bcltest.o: bcltest.c rle.h huffman.h rice.h lz.h $(CC) -c -Wall -W -Wtraditional -pedantic -O3 bcltest.c