Alcatel-Lucent nmake Product Builder
Makefiles up to 10x Shorter
make v. nmake, a quick example
Conventional Makefile:
TABS = -DTABS=8
USG = -DUSG=1
CFLAGS = -c ${TABS} ${USG}
SOURCE = main.c process.c hash.c
OBJECT = main.o process.o hash.o
INSTALLDIR = ${HOME}/bin
program : ${OBJECT}
${CC} ${OBJECT} -lm -o program
install :
- mv ${INSTALLDIR}/program ${INSTALLDIR}/program.old
cp program ${INSTALLDIR}
main.o : main.c main.h
process.o : process.c process.h main.h hash.h
hash.o : hash.c hash.h
lint :
lint ${CFLAGS} ${SOURCE}
clean :
- rm -f core ${OBJECT}
clobber : clean
- rm -f program
clobber.install:
- rm ${INSTALLDIR}/program
nmake Makefile:
TABS == 8 USG == 1 program :: main.c process.c hash.c -lm
Despite small size, this nmake version does much more:
- Full viewpathing support
- Automatically maintained header dependencies
- Dynamic state variable dependencies minimize rebuilds
- Dependencies on rule action, compiler, and library
- Remembered state time to trigger updates
- Portable across platforms
- Support for additional common actions such as cc-
- Automatic common actions consistent across Makefiles
- Concurrent and distributed builds
Last Update: Monday,28-Feb-2011 15:59:23 EST







