| ############################################################################ |
| # tools/Makefile.host |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. The |
| # ASF licenses this file to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance with the |
| # License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations |
| # under the License. |
| # |
| ############################################################################ |
| |
| export TOPDIR ?= $(CURDIR)/.. |
| -include $(TOPDIR)/Make.defs |
| include ${TOPDIR}/tools/Config.mk |
| |
| # Check the endian-ness of the target |
| |
| ifeq ($(CONFIG_ENDIAN_BIG),y) |
| CFLAGS += -DTGT_BIGENDIAN=1 |
| endif |
| |
| # Targets |
| |
| all: b16$(HOSTEXEEXT) bdf-converter$(HOSTEXEEXT) cmpconfig$(HOSTEXEEXT) \ |
| configure$(HOSTEXEEXT) mkconfig$(HOSTEXEEXT) mkdeps$(HOSTEXEEXT) \ |
| mksymtab$(HOSTEXEEXT) mksyscall$(HOSTEXEEXT) mkversion$(HOSTEXEEXT) \ |
| cnvwindeps$(HOSTEXEEXT) nxstyle$(HOSTEXEEXT) initialconfig$(HOSTEXEEXT) \ |
| gencromfs$(HOSTEXEEXT) convert-comments$(HOSTEXEEXT) lowhex$(HOSTEXEEXT) \ |
| detab$(HOSTEXEEXT) rmcr$(HOSTEXEEXT) incdir$(HOSTEXEEXT) \ |
| jlink-nuttx$(HOSTDYNEXT) |
| default: mkconfig$(HOSTEXEEXT) mksyscall$(HOSTEXEEXT) mkdeps$(HOSTEXEEXT) \ |
| cnvwindeps$(HOSTEXEEXT) incdir$(HOSTEXEEXT) |
| |
| ifdef HOSTEXEEXT |
| .PHONY: b16 bdf-converter cmpconfig clean configure kconfig2html mkconfig \ |
| mkdeps mksymtab mksyscall mkversion cnvwindeps nxstyle initialconfig \ |
| gencromfs convert-comments lowhex detab rmcr incdir |
| endif |
| ifdef HOSTDYNEXT |
| .PHONY: jlink-nuttx |
| endif |
| .PHONY: clean |
| |
| # b16 - Fixed precision math conversion tool |
| |
| b16$(HOSTEXEEXT): b16.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o b16$(HOSTEXEEXT) b16.c |
| |
| ifdef HOSTEXEEXT |
| b16: b16$(HOSTEXEEXT) |
| endif |
| |
| # configure - Instantiate a canned NuttX configuration |
| |
| configure$(HOSTEXEEXT): configure.c cfgparser.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o configure$(HOSTEXEEXT) configure.c cfgparser.c |
| |
| ifdef HOSTEXEEXT |
| configure: configure$(HOSTEXEEXT) |
| endif |
| |
| # mkconfig - Convert a .config file into a C config.h file |
| |
| mkconfig$(HOSTEXEEXT): mkconfig.c cfgdefine.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkconfig$(HOSTEXEEXT) mkconfig.c cfgdefine.c |
| |
| ifdef HOSTEXEEXT |
| mkconfig: mkconfig$(HOSTEXEEXT) |
| endif |
| |
| # cmpconfig - Compare the contents of two configuration files |
| |
| cmpconfig$(HOSTEXEEXT): cmpconfig.c cfgparser.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o cmpconfig$(HOSTEXEEXT) cmpconfig.c cfgparser.c |
| |
| ifdef HOSTEXEEXT |
| cmpconfig: cmpconfig$(HOSTEXEEXT) |
| endif |
| |
| # kconfig2html - Create an HTML document describing the configuration options |
| |
| kconfig2html$(HOSTEXEEXT): kconfig2html.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o kconfig2html$(HOSTEXEEXT) kconfig2html.c |
| |
| ifdef HOSTEXEEXT |
| kconfig2html: kconfig2html$(HOSTEXEEXT) |
| endif |
| |
| # mkversion - Convert a .version file into a C version.h file |
| |
| mkversion$(HOSTEXEEXT): mkconfig.c cfgdefine.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkversion$(HOSTEXEEXT) mkversion.c cfgdefine.c |
| |
| ifdef HOSTEXEEXT |
| mkversion: mkversion$(HOSTEXEEXT) |
| endif |
| |
| # mksyscall - Convert a CSV file into syscall stubs and proxies |
| |
| mksyscall$(HOSTEXEEXT): mksyscall.c csvparser.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mksyscall$(HOSTEXEEXT) mksyscall.c csvparser.c |
| |
| ifdef HOSTEXEEXT |
| mksyscall: mksyscall$(HOSTEXEEXT) |
| endif |
| |
| # mksymtab - Convert a CSV file into a symbol table |
| |
| mksymtab$(HOSTEXEEXT): mksymtab.c csvparser.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mksymtab$(HOSTEXEEXT) mksymtab.c csvparser.c |
| |
| ifdef HOSTEXEEXT |
| mksymtab: mksymtab$(HOSTEXEEXT) |
| endif |
| |
| # bdf-converter - Converts a BDF font to the NuttX font format |
| |
| bdf-converter$(HOSTEXEEXT): bdf-converter.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o bdf-converter$(HOSTEXEEXT) bdf-converter.c |
| |
| ifdef HOSTEXEEXT |
| bdf-converter: bdf-converter$(HOSTEXEEXT) |
| endif |
| |
| # nxstyle - Check a file for compliance to NuttX coding style |
| |
| nxstyle$(HOSTEXEEXT): nxstyle.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -DTOPDIR=\"$(realpath $(TOPDIR))\" \ |
| -o nxstyle$(HOSTEXEEXT) nxstyle.c |
| |
| ifdef HOSTEXEEXT |
| nxstyle: nxstyle$(HOSTEXEEXT) |
| endif |
| |
| # initialconfig - Create a barebones .config file sufficient only for |
| # instantiating the symbolic links necessary to do a real configuration |
| # from scratch. |
| |
| initialconfig$(HOSTEXEEXT): initialconfig.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o initialconfig$(HOSTEXEEXT) initialconfig.c |
| |
| ifdef HOSTEXEEXT |
| initialconfig: initialconfig$(HOSTEXEEXT) |
| endif |
| |
| # gencromfs - Generate a CROMFS file system |
| |
| gencromfs$(HOSTEXEEXT): gencromfs.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o gencromfs$(HOSTEXEEXT) gencromfs.c |
| |
| ifdef HOSTEXEEXT |
| gencromfs: gencromfs$(HOSTEXEEXT) |
| endif |
| |
| # convert-comments - Convert C++-style comments to C-style comments |
| |
| convert-comments$(HOSTEXEEXT): convert-comments.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o convert-comments$(HOSTEXEEXT) convert-comments.c |
| |
| ifdef HOSTEXEEXT |
| convert-comments: convert-comments$(HOSTEXEEXT) |
| endif |
| |
| # lowhex - Convert hexadecimal constants to lower cast format |
| |
| lowhex$(HOSTEXEEXT): lowhex.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o lowhex$(HOSTEXEEXT) lowhex.c |
| |
| ifdef HOSTEXEEXT |
| lowhex: lowhex$(HOSTEXEEXT) |
| endif |
| |
| # detab - Convert tabs to spaces |
| |
| detab$(HOSTEXEEXT): detab.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o detab$(HOSTEXEEXT) detab.c |
| |
| ifdef HOSTEXEEXT |
| detab: detab$(HOSTEXEEXT) |
| endif |
| |
| # rmcr - Convert tabs to spaces |
| |
| rmcr$(HOSTEXEEXT): rmcr.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o rmcr$(HOSTEXEEXT) rmcr.c |
| |
| ifdef HOSTEXEEXT |
| rmcr: rmcr$(HOSTEXEEXT) |
| endif |
| |
| # incdir - Generate compiler-specific include paths |
| |
| incdir$(HOSTEXEEXT): incdir.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o incdir$(HOSTEXEEXT) incdir.c |
| |
| ifdef HOSTEXEEXT |
| incdir: incdir$(HOSTEXEEXT) |
| endif |
| |
| # cnvwindeps - Convert dependences generated by a Windows native toolchain |
| # for use in a Cygwin/POSIX build environment |
| |
| cnvwindeps$(HOSTEXEEXT): cnvwindeps.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o cnvwindeps$(HOSTEXEEXT) cnvwindeps.c |
| |
| ifdef HOSTEXEEXT |
| cnvwindeps: cnvwindeps$(HOSTEXEEXT) |
| endif |
| |
| # Create dependencies for a list of files |
| |
| mkdeps$(HOSTEXEEXT): mkdeps.c csvparser.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkdeps$(HOSTEXEEXT) mkdeps.c |
| |
| ifdef HOSTEXEEXT |
| mkdeps: mkdeps$(HOSTEXEEXT) |
| endif |
| |
| # jlink-nuttx - Create jlink GDBServer nuttx plugin |
| |
| jlink-nuttx$(HOSTDYNEXT): jlink-nuttx.c |
| $(Q) $(HOSTCC) $(HOSTCFLAGS) -shared -fPIC jlink-nuttx.c -o jlink-nuttx$(HOSTDYNEXT) |
| |
| ifdef HOSTDYNEXT |
| jlink-nuttx: jlink-nuttx$(HOSTDYNEXT) |
| endif |
| |
| clean: |
| $(call DELFILE, b16) |
| $(call DELFILE, b16.exe) |
| $(call DELFILE, bdf-converter) |
| $(call DELFILE, bdf-converter.exe) |
| $(call DELFILE, cmpconfig) |
| $(call DELFILE, cmpconfig.exe) |
| $(call DELFILE, cnvwindeps) |
| $(call DELFILE, cnvwindeps.exe) |
| $(call DELFILE, convert-comments) |
| $(call DELFILE, convert-comments.exe) |
| $(call DELFILE, configure) |
| $(call DELFILE, configure.exe) |
| $(call DELFILE, detab) |
| $(call DELFILE, detab.exe) |
| $(call DELFILE, gencromfs) |
| $(call DELFILE, gencromfs.exe) |
| $(call DELFILE, initialconfig) |
| $(call DELFILE, initialconfig.exe) |
| $(call DELFILE, lowhex) |
| $(call DELFILE, lowhex.exe) |
| $(call DELFILE, Make.dep) |
| $(call DELFILE, mkconfig) |
| $(call DELFILE, mkconfig.exe) |
| $(call DELFILE, mkdeps) |
| $(call DELFILE, mkdeps.exe) |
| $(call DELFILE, mksymtab) |
| $(call DELFILE, mksymtab.exe) |
| $(call DELFILE, mksyscall) |
| $(call DELFILE, mksyscall.exe) |
| $(call DELFILE, mkversion) |
| $(call DELFILE, mkversion.exe) |
| $(call DELFILE, nxstyle) |
| $(call DELFILE, nxstyle.exe) |
| $(call DELFILE, rmcr) |
| $(call DELFILE, rmcr.exe) |
| $(call DELFILE, jlink-nuttx.so) |
| $(call DELFILE, jlink-nuttx.dll) |
| ifneq ($(CONFIG_WINDOWS_NATIVE),y) |
| $(Q) rm -rf *.dSYM |
| endif |
| $(Q) $(MAKE) -C pic32 -f Makefile.host clean |
| $(Q) $(MAKE) -C cxd56 -f Makefile.host clean |
| $(call DELFILE, incdir) |
| $(call DELFILE, incdir.exe) |
| $(call CLEAN) |