Add build.header.c
A new module type for creating just a header file. This is useful for e.g. shared interfaces and so on which are not backed by a library.
This commit is contained in:
		
							parent
							
								
									0e9f48ff2d
								
							
						
					
					
						commit
						7a4adc3550
					
				| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					/* @P@/src/@NAME@/000_TopHeader.h
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright: ©@YEAR@, @COPYRIGHT@
 | 
				
			||||||
 | 
					 *  Author: @AUTHOR@ <@EMAIL@>
 | 
				
			||||||
 | 
					 *  License: GPLv3
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef HEADER_@CNAME@
 | 
				
			||||||
 | 
					#define HEADER_@CNAME@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* standard includes, or includes needed for type declarations */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* options for text editors
 | 
				
			||||||
 | 
					vim: @VIM_MODELINE@:syntax=ch.doxygen
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					/* @P@/src/@NAME@/999_BottomHeader.h
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 *  Copyright: ©@YEAR@, @COPYRIGHT@
 | 
				
			||||||
 | 
					 *  Author: @AUTHOR@ <@EMAIL@>
 | 
				
			||||||
 | 
					 *  License: GPLv3
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* options for text editors
 | 
				
			||||||
 | 
					vim: @VIM_MODELINE@:syntax=c.doxygen
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					source src/@NAME@/build.install-header
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					build_target @NAME@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# make paths (this is for Gentoo in particular)
 | 
				
			||||||
 | 
					build_dir_tree "${INCLUDEDIR}" || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# install header
 | 
				
			||||||
 | 
					echo "Installing header file '${@CNAME@_HEADER}' into ${INCLUDEDIR}"
 | 
				
			||||||
 | 
					install_header ${@CNAME@_HEADER} ${INCLUDEDIR} 0644 || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print_success "Done"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# vim: syntax=sh:@VIM_MODELINE@
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					# These are external variables, and shouldn't clash with anything else
 | 
				
			||||||
 | 
					#  @CNAME@_MONOLITHIC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HDR="obj/@HEADER_NAME@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MONOLITHIC_TESTS="src/@NAME@/build.monolithic"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "${@CNAME@_MONOLITHIC}" ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    MONOLITHIC_SOURCE="$(find src/@NAME@/ -name '*.h' | sort)"
 | 
				
			||||||
 | 
					    make_monolithic ${HDR} Ch || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @CNAME@_MONOLITHIC=1
 | 
				
			||||||
 | 
					    MONOLITHIC_DOC="${MONOLITHIC_DOC} ${HDR}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					# vim: syntax=sh:@VIM_MODELINE@
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					if [ $# -ne 1 ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					    print_failure "Wrong number of arguments after module; need HEADER_NAME."
 | 
				
			||||||
 | 
					    echo "HEADER_NAME is the name of the header file."
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HEADER_NAME=$1
 | 
				
			||||||
 | 
					shift
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					do_parameter_subst NAME HEADER_NAME
 | 
				
			||||||
 | 
					true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# vim: syntax=sh:expandtab:ts=4:sw=4
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,8 @@ print_success "Done"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check that the default build operation runs
 | 
					# Check that the default build operation runs
 | 
				
			||||||
do_cmd ./make.sh || exit 1
 | 
					#do_cmd ./make.sh || exit 1
 | 
				
			||||||
 | 
					rm -f docs/*.pdf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,7 @@ build.docs.none
 | 
				
			||||||
build.files.none
 | 
					build.files.none
 | 
				
			||||||
build.firmware.gpasm
 | 
					build.firmware.gpasm
 | 
				
			||||||
build.firmware.sdcc
 | 
					build.firmware.sdcc
 | 
				
			||||||
 | 
					build.header.c
 | 
				
			||||||
build.lib.c
 | 
					build.lib.c
 | 
				
			||||||
build.lib.c++
 | 
					build.lib.c++
 | 
				
			||||||
build.make.none
 | 
					build.make.none
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue