makefile

来自「压缩算法的C语言源程序」· 代码 · 共 56 行

TXT
56
字号
# CompressLib v1.2
# to compile and install the source, type 'make'
# this make file is used with DJGPP

# define the compiler
GCC=gcc
AR=ar

SRCPATH = src
INCPATH = include
LIBPATH = lib
OBJPATH = obj
EXPATH = example

LIB=$(LIBPATH)/libcompress.a

WFLAGS = -Wall -W -Werror
OFLAGS = -funroll-loops -O2
DFLAGS = -g
CFLAGS = -I. -I$(INCPATH) -L$(LIBPATH) $(WFLAGS) $(OFLAGS) $(DFLAGS)

OBJ = crc32.o deflate.o gslib.o huffman.o lz77.o lzw.o rle.o stream.o
EXA = gzipc.exe huff.exe crc.exe
OBJECTS=$(addprefix $(OBJPATH)/,$(OBJ))
EXAMPLES=$(addprefix $(EXPATH)/,$(EXA))

.PHONY: all message install clean

ifndef DJDIR
djerr:
	@echo Error: DJGPP not installed.
endif

all: message $(LIB) $(EXAMPLES)
	@echo ======================================
	@echo CompressLib v1.2 succesfully compiled.

message:
	@echo ======================================
	@echo CompressLib v1.2
	@echo Compression Library for DJGPP
	@echo (c) 1998-99 Jay
	@echo
	@echo Compiling sources....

$(LIB): $(OBJECTS)
	$(AR) rs $@ $(OBJECTS)

$(OBJPATH)/%.o: $(SRCPATH)/%.c $(INCPATH)/compress.h
	$(GCC) -c $< $(CFLAGS) -o $@

$(EXPATH)/%.exe: $(EXPATH)/%.cpp $(LIB)
	$(GCC) $< -lcompress $(CFLAGS) -o $@

clean:
	del $(OBJPATH)\*.o

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?