📄 makefile
字号:
# Copyright (C) 1996-2005 Markus F.X.J. Oberhumer## this is modelled after build.sh; needs GNU make 3.80SHELL = /bin/sh#### setup flags####top_srcdir ?= ../..top_srcdir ?= $(dir $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)))../..AR ?= arCC ?= ccCFLAGS ?= -OCFI = -I$(top_srcdir)/include -I$(top_srcdir)BNAME = lzo2BLIB = lib$(BNAME).aCF = $(CPPFLAGS) $(CFI) $(CFLAGS)LF = $(LDFLAGS) $(LZO_EXTRA_LDFLAGS)LL = $(BLIB) $(LIBS) $(LZO_EXTRA_LIBS)#### setup files##__map = $(foreach __map_v,$(2),$(call $(1),$(__map_v)))__object_filename = $(addsuffix .o,$(basename $(notdir $(1))))BLIB_SOURCES := $(wildcard $(top_srcdir)/src/*.c)BLIB_SOURCES += $(LZO_EXTRA_SOURCES)BLIB_OBJECTS := $(call __map,__object_filename,$(BLIB_SOURCES))PROGRAMS = dict.out lzopack.out precomp.out precomp2.out simple.out lzotest.out#### rules##all.targets ?= $(BLIB) $(PROGRAMS) testmini.outall: $(all.targets)clean: rm -f *.d *.o $(BLIB) $(PROGRAMS) testmini.out$(BLIB): $(BLIB_OBJECTS) $(LZO_EXTRA_OBJECTS) rm -f $@ $(AR) rcs $@ $^# dynamically construct object rulesdefine BLIB_OBJECT_template $(call __object_filename,$(1)) : $(1) ; $(CC) $(CF) $(LZO_EXTRA_CPPFLAGS) $(LZO_EXTRA_CFLAGS) -c $$<endef$(foreach s,$(BLIB_SOURCES),$(eval $(call BLIB_OBJECT_template,$(s))))dict.out: $(top_srcdir)/examples/dict.c $(CC) $(CF) $(LF) -o $@ $< $(LL)lzopack.out: $(top_srcdir)/examples/lzopack.c $(CC) $(CF) $(LF) -o $@ $< $(LL)precomp.out: $(top_srcdir)/examples/precomp.c $(CC) $(CF) $(LF) -o $@ $< $(LL)precomp2.out: $(top_srcdir)/examples/precomp2.c $(CC) $(CF) $(LF) -o $@ $< $(LL)simple.out: $(top_srcdir)/examples/simple.c $(CC) $(CF) $(LF) -o $@ $< $(LL)lzotest.out: $(top_srcdir)/lzotest/lzotest.c $(CC) $(CF) $(LF) -o $@ $< $(LL)testmini.out: $(top_srcdir)/minilzo/testmini.c $(top_srcdir)/minilzo/minilzo.c $(CC) $(CF) $(LF) -I$(top_srcdir)/include/lzo -o $@ $^ $(LIBS)# dependencies$(PROGRAMS): $(BLIB)# object dependencies are generated via -MMD-include *.d# debugshow_vars: @echo "BLIB_SOURCES = $(BLIB_SOURCES)" @echo "BLIB_OBJECTS = $(BLIB_OBJECTS)" @echo "PROGRAMS = $(PROGRAMS)" @echo "LZO_EXTRA_SOURCES = $(LZO_EXTRA_SOURCES)" @echo "LZO_EXTRA_OBJECTS = $(LZO_EXTRA_OBJECTS)".PHONY: all clean show_vars
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -