Skip to content
Snippets Groups Projects
Select Git revision
8 results Searching

build.mk

Blame
  • build.mk 1.13 KiB
    # Some make rules to make output pretty....
    
    # default ARFLAGS also has 'v', but we don't want it to be verbose.
    ARFLAGS= -r
    
    # make sure libs from /usr/local/lib are found
    VPATH= /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib
    
    LIBTOOL=libtool
    
    %.o : %.c
    	@echo "LT   CC $<"
    	@${LIBTOOL} --quiet --mode=compile --tag=CC $(CC) -MMD $(CFLAGS) -c $<
    
    #	@echo "     CC $<"
    #	@$(CC) -MMD $(CFLAGS) -c $<
    
    %: %.o
    	@echo "     LD $@"
    	@${LIBTOOL} --quiet --mode=link --tag=CC $(LINK.o) $(filter %.o,$^) $(LOADLIBS) $(LDLIBS) $($@_LDFLAGS) -o $@
    
    %.lo: %.c
    	@echo "LT   CC $<"
    	@${LIBTOOL} --quiet --mode=compile --tag=CC $(CC) -MMD $(CFLAGS) -c $<
    
    %.la:
    	@echo "LIBTOOL $@"
    	@${LIBTOOL} --quiet --mode=link gcc $^ -o $@ $(LDFLAGS) $($@_LDFLAGS) -static-libtool-libs
    
    (%): %
    	@echo "   AR  $^ in $@"
    	@$(AR) $(ARFLAGS) $@ $^
    
    %.tab.c %.tab.h: %.y
    	@echo "  BISON $<"
    	bison -d $<
    
    %.yy.c %.yy.h: %.l %.tab.h
    	@echo "   FLEX $<"
    	@flex --header-file=$*.yy.h -o $*.yy.c $<
    
    # il2c: instruction list 2 c 'compiler'
    %.c %.h: %.il
    	@echo "   IL2C $<"
    	@$(IL2C) $<
    
    # dot -> pdf
    %.pdf: %.dot
    	@echo "  DOT  $<"
    	@dot $< -o $@ -Tpdf
    
    -include $(SRCS:.c=.d)