Changeset b0a89cc


Ignore:
Timestamp:
2010-08-27T08:48:18Z (9 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
df61c35a, feb1bad
Parents:
3f10fad
Message:

Use nifty gcc -MD feature to automatically track .h dependencies of all C
files, this finally gives proper dependencies, which means the end of
getting broken binaries around headerfile changes, etc.

Sure, this may not work on obscurux with superawesomeincompatiblecc while
autoconf does, but at least BitlBee's configure script still runs in <1s.
:-)

Files:
11 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    r3f10fad rb0a89cc  
    2020bitlbee.info
    2121bitlbee.exe
     22.depend
  • Makefile

    r3f10fad rb0a89cc  
    5252
    5353distclean: clean $(subdirs)
     54        rm -rf .depend
    5455        rm -f Makefile.settings config.h bitlbee.pc
    5556        find . -name 'DEADJOE' -o -name '*.orig' -o -name '*.rej' -o -name '*~' -exec rm -f {} \;
     57        @# May still be present in dirs of disabled protocols.
     58        find . -name .depend | xargs -r rmdir
    5659        $(MAKE) -C tests distclean
    5760
     
    105108        x=$$(basename $$(pwd)); \
    106109        cd ..; \
    107         tar czf $$x.tar.gz --exclude=debian --exclude=.bzr* $$x
     110        tar czf $$x.tar.gz --exclude=debian --exclude=.bzr* --exclude=.depend $$x
    108111
    109112$(subdirs):
     
    131134helloworld:
    132135        @echo Hello World
     136
     137-include .depend/*.d
  • configure

    r3f10fad rb0a89cc  
    571571fi
    572572
     573case "$CC" in
     574*gcc* )
     575        echo CFLAGS+=-MD -MF .depend/\$@.d >> Makefile.settings
     576        for i in . lib protocols protocols/*/; do
     577                mkdir -p $i/.depend
     578        done
     579esac
     580
    573581if [ "$msn" = 0 ]; then
    574582        echo '#undef WITH_MSN' >> config.h
  • lib/Makefile

    r3f10fad rb0a89cc  
    3030
    3131distclean: clean $(subdirs)
     32        rm -rf .depend
    3233
    3334### MAIN PROGRAM
     
    4243        @echo '*' Compiling $<
    4344        @$(CC) -c $(CFLAGS) $< -o $@
     45
     46-include .depend/*.d
  • protocols/Makefile

    r3f10fad rb0a89cc  
    4040
    4141distclean: clean $(subdirs)
     42        rm -rf .depend
    4243
    4344$(subdirs):
     
    5556        @echo '*' Compiling $<
    5657        @$(CC) -c $(CFLAGS) $< -o $@
     58
     59-include .depend/*.d
  • protocols/jabber/Makefile

    r3f10fad rb0a89cc  
    3030
    3131distclean: clean
     32        rm -rf .depend
    3233
    3334### MAIN PROGRAM
     
    4243        @echo '*' Linking jabber_mod.o
    4344        @$(LD) $(LFLAGS) $(objects) -o jabber_mod.o
     45
     46-include .depend/*.d
  • protocols/msn/Makefile

    r3f10fad rb0a89cc  
    3030
    3131distclean: clean
     32        rm -rf .depend
    3233
    3334### MAIN PROGRAM
     
    4243        @echo '*' Linking msn_mod.o
    4344        @$(LD) $(LFLAGS) $(objects) -o msn_mod.o
    44        
    4545
     46-include .depend/*.d
  • protocols/oscar/Makefile

    r3f10fad rb0a89cc  
    3131
    3232distclean: clean
     33        rm -rf .depend
    3334
    3435### MAIN PROGRAM
     
    4344        @echo '*' Linking oscar_mod.o
    4445        @$(LD) $(LFLAGS) $(objects) -o oscar_mod.o
     46
     47-include .depend/*.d
  • protocols/purple/Makefile

    r3f10fad rb0a89cc  
    3131
    3232distclean: clean
     33        rm -rf .depend
    3334
    3435### MAIN PROGRAM
     
    4344        @echo '*' Linking purple_mod.o
    4445        $(LD) $(LFLAGS) $(objects) -o purple_mod.o
     46
     47-include .depend/*.d
  • protocols/twitter/Makefile

    r3f10fad rb0a89cc  
    3030
    3131distclean: clean
     32        rm -rf .depend
    3233
    3334### MAIN PROGRAM
     
    4344        @$(LD) $(LFLAGS) $(objects) -o twitter_mod.o
    4445       
    45 
     46-include .depend/*.d
  • protocols/yahoo/Makefile

    r3f10fad rb0a89cc  
    3131
    3232distclean: clean
     33        rm -rf .depend
    3334
    3435### MAIN PROGRAM
     
    4344        @echo '*' Linking yahoo_mod.o
    4445        @$(LD) $(LFLAGS) $(objects) -o yahoo_mod.o
     46
     47-include .depend/*.d
Note: See TracChangeset for help on using the changeset viewer.