Only include necessary dirs
This commit is contained in:
+3
-3
@@ -44,13 +44,13 @@ docs: $(DOCMAKEFILES)
|
||||
../%/doc/Makefile: Makefile.doc.template Makefile makemake.py README.doc.template
|
||||
mkdir -p $(dir $@)
|
||||
cp -f README.doc.template $(dir $@)/README
|
||||
(cd $(dir $@)/..; ../../etc/makemake.py --relpath --template ../../etc/Makefile.doc.template . . ../../utils ../../fonts ../../drivers ../../drivers/avr > doc/Makefile)
|
||||
(cd $(dir $@)/..; ../../etc/makemake.py --relpath --template ../../etc/Makefile.doc.template . . ../../utils ../../fonts ../../drivers ../../drivers/avr ../../extra > doc/Makefile)
|
||||
|
||||
../%/Makefile.test: Makefile.test.template Makefile
|
||||
(cd $(dir $@); ../../etc/makemake.py --cc="gcc" --cflags="" --relpath --objext=-test.o --template ../../etc/Makefile.test.template . . ../../utils ../../drivers ../../drivers/test > Makefile.test)
|
||||
(cd $(dir $@); ../../etc/makemake.py --cc="gcc" --cflags="" --relpath --objext=-test.o --template ../../etc/Makefile.test.template . . ../../utils ../../drivers ../../drivers/test ../../extra > Makefile.test)
|
||||
|
||||
../%/Makefile: Makefile.template Makefile makemake.py
|
||||
(cd $(dir $@); ../../etc/makemake.py --cc="avr-gcc" --cflags="-Os -mmcu=atmega32u2" --relpath --template ../../etc/Makefile.template . . ../../utils ../../fonts ../../drivers ../../drivers/avr > Makefile)
|
||||
(cd $(dir $@); ../../etc/makemake.py --cc="avr-gcc" --cflags="-Os -mmcu=atmega32u2" --relpath --template ../../etc/Makefile.template . . ../../utils ../../fonts ../../drivers ../../drivers/avr ../../extra > Makefile)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,15 +24,15 @@ callgraph.pdf: callgraph.d
|
||||
|
||||
|
||||
files.d: ../Makefile
|
||||
(cd ..; ../../etc/makemake.py --relpath --files . . ../../drivers ../../drivers/avr ../../utils --exclude system.h > doc/files.d)
|
||||
(cd ..; ../../etc/makemake.py --relpath --files . . ../../drivers ../../drivers/avr ../../utils ../../extra --exclude system.h > doc/files.d)
|
||||
|
||||
|
||||
modules.d: ../Makefile
|
||||
(cd ..; ../../etc/makemake.py --relpath --modules . . ../../drivers ../../drivers/avr ../../utils --exclude system > doc/modules.d)
|
||||
(cd ..; ../../etc/makemake.py --relpath --modules . . ../../drivers ../../drivers/avr ../../utils ../../extra --exclude system > doc/modules.d)
|
||||
|
||||
|
||||
callgraph.d: ../Makefile
|
||||
(cd ..; ../../etc/makemake.py --cc="avr-gcc" --cflags="-Os -mmcu=atmega32u2" --relpath --calls . . ../../drivers ../../drivers/avr ../../utils --exclude system.h > doc/callgraph.d)
|
||||
(cd ..; ../../etc/makemake.py --cc="avr-gcc" --cflags="-Os -mmcu=atmega32u2" --relpath --calls . . ../../drivers ../../drivers/avr ../../utils ../../extra --exclude system.h > doc/callgraph.d)
|
||||
|
||||
|
||||
# Clean: delete derived files.
|
||||
|
||||
+33
-12
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
"""makemake V0.08
|
||||
"""makemake V0.09
|
||||
Copyright (c) 2010 Michael P. Hayes, UC ECE, NZ
|
||||
|
||||
This program tries to make a Makefile from a template. Given a C file
|
||||
@@ -101,14 +101,25 @@ def hfiles_get (cfile, filedeps, options):
|
||||
return unique (hfilelist)
|
||||
|
||||
|
||||
def cfiles_get (filedeps):
|
||||
def files_get_all (filedeps, ext):
|
||||
|
||||
cfilelist = []
|
||||
filelist = []
|
||||
for target in filedeps:
|
||||
if target[-2:] == '.c':
|
||||
cfilelist.append (target)
|
||||
if target[-2:] == ext:
|
||||
filelist.append (target)
|
||||
|
||||
return unique (cfilelist)
|
||||
return unique (filelist)
|
||||
|
||||
|
||||
|
||||
def cfiles_get_all (filedeps):
|
||||
|
||||
return files_get_all (filedeps, '.c')
|
||||
|
||||
|
||||
def hfiles_get_all (filedeps):
|
||||
|
||||
return files_get_all (filedeps, '.h')
|
||||
|
||||
|
||||
def file_parse (pathname, indent, debug):
|
||||
@@ -134,10 +145,10 @@ def file_parse (pathname, indent, debug):
|
||||
return hfilelist
|
||||
|
||||
|
||||
def makefile_print (options, template, maincfilename, filedeps,
|
||||
search_list):
|
||||
def makefile_print (options, template, maincfilename, filedeps,
|
||||
search_list):
|
||||
|
||||
cfilelist = cfiles_get (filedeps)
|
||||
cfilelist = cfiles_get_all (filedeps)
|
||||
cfilelist.sort ()
|
||||
basecfilelist = [os.path.basename (cfile) for cfile in cfilelist]
|
||||
|
||||
@@ -149,8 +160,18 @@ def makefile_print (options, template, maincfilename, filedeps,
|
||||
text = file.read ()
|
||||
file.close ()
|
||||
|
||||
vpath = ' '.join (search_list)
|
||||
includes = '-I' + ' -I'.join (search_list)
|
||||
hfilelist = hfiles_get_all (filedeps)
|
||||
|
||||
includedirs = unique ([os.path.dirname (os.path.relpath (path)) for path in hfilelist])
|
||||
|
||||
moduledirs = unique ([os.path.dirname (os.path.relpath (path)) for path in cfilelist])
|
||||
if options.debug:
|
||||
print >> sys.stderr, includedirs
|
||||
print >> sys.stderr, moduledirs
|
||||
|
||||
|
||||
vpath = ' '.join (moduledirs)
|
||||
includes = '-I' + ' -I'.join (includedirs)
|
||||
src = ' '.join (basecfilelist)
|
||||
obj = src
|
||||
|
||||
@@ -514,7 +535,7 @@ def main(argv = None):
|
||||
moduledeps = {}
|
||||
files_find (maincfilename, search_path, filedeps, moduledeps, '', options.debug)
|
||||
|
||||
cfilelist = cfiles_get (filedeps)
|
||||
cfilelist = cfiles_get_all (filedeps)
|
||||
ofilelist = [cfile[:-2] + options.objext for cfile in cfilelist]
|
||||
outfile = maincfilename[:-2] + options.exeext
|
||||
filedeps[outfile] = ofilelist
|
||||
|
||||
Reference in New Issue
Block a user