forked from Archive/PX4-Autopilot
116 lines
2.8 KiB
Makefile
116 lines
2.8 KiB
Makefile
# ----------------------------------------------------------------------
|
|
# Makefile
|
|
# ----------------------------------------------------------------------
|
|
|
|
# ----------------------------------------------------------------------
|
|
# Directories
|
|
|
|
PASCAL = ${shell pwd}
|
|
|
|
include $(PASCAL)/Make.config
|
|
include $(PASCAL)/Make.defs
|
|
|
|
INCDIR = $(PASCAL)/include
|
|
LIBDIR = $(PASCAL)/lib
|
|
BINDIR-$(CONFIG_INSN16) = $(PASCAL)/bin16
|
|
BINDIR-$(CONFIG_INSN32) = $(PASCAL)/bin32
|
|
LIBPOFFDIR = $(PASCAL)/libpoff
|
|
LIBPASDIR = $(PASCAL)/libpas
|
|
PASDIR = $(PASCAL)/pascal
|
|
PLINKDIR = $(PASCAL)/plink
|
|
TESTDIR = $(PASCAL)/tests
|
|
INSN-$(CONFIG_INSN16) = $(PASCAL)/insn16
|
|
INSN-$(CONFIG_INSN32) = $(PASCAL)/insn32
|
|
LIBINSNDIR = $(INSN-y)/libinsn
|
|
|
|
# ----------------------------------------------------------------------
|
|
# Objects and targets
|
|
|
|
LIBS = $(LIBDIR)/libpoff.a $(LIBDIR)/libpas.a \
|
|
$(LIBDIR)/libinsn.a
|
|
|
|
all: pascal popt regm plink plist prun
|
|
.PHONY: all config.h libpoff.a libpas.a libinsn.a pascal popt regm plink plist prun clean deep-clean
|
|
|
|
$(INCDIR)/config.h: Make.config
|
|
@$(MAKE) -f Make.config.h
|
|
|
|
config.h: $(INCDIR)/config.h
|
|
|
|
$(LIBDIR):
|
|
mkdir $(LIBDIR)
|
|
|
|
$(LIBDIR)/libpoff.a: $(LIBDIR) config.h
|
|
@$(MAKE) -C $(LIBPOFFDIR) libpoff.a
|
|
|
|
libpoff.a: $(LIBDIR)/libpoff.a
|
|
|
|
$(LIBDIR)/libpas.a: $(LIBDIR) config.h
|
|
@$(MAKE) -C $(LIBPASDIR) libpas.a
|
|
|
|
libpas.a: $(LIBDIR)/libpas.a
|
|
|
|
$(LIBDIR)/libinsn.a: $(LIBDIR) config.h
|
|
@$(MAKE) -C $(LIBINSNDIR) libinsn.a
|
|
|
|
libinsn.a: $(LIBDIR)/libinsn.a
|
|
|
|
$(BINDIR-y):
|
|
mkdir $(BINDIR-y)
|
|
|
|
$(BINDIR-y)/pascal: $(BINDIR-y) config.h $(LIBS)
|
|
@$(MAKE) -C $(PASDIR)
|
|
|
|
pascal: $(BINDIR-y)/pascal
|
|
|
|
$(BINDIR-y)/popt: $(BINDIR-y) config.h $(LIBS)
|
|
@$(MAKE) -C $(INSN-y) popt
|
|
|
|
popt: $(BINDIR-y)/popt
|
|
|
|
$(BINDIR-y)/regm: $(BINDIR-y) config.h $(LIBS)
|
|
ifeq ($(CONFIG_REGM),y)
|
|
@$(MAKE) -C $(INSN-y) regm
|
|
endif
|
|
|
|
regm: $(BINDIR-y)/regm
|
|
|
|
$(BINDIR-y)/plink: $(BINDIR-y) config.h $(LIBS)
|
|
@$(MAKE) -C $(PLINKDIR)
|
|
|
|
plink: $(BINDIR-y)/plink
|
|
|
|
$(BINDIR-y)/prun: $(BINDIR-y) config.h $(LIBS)
|
|
@$(MAKE) -C $(INSN-y) prun
|
|
|
|
prun: $(BINDIR-y)/prun
|
|
|
|
$(BINDIR-y)/plist: $(BINDIR-y) config.h $(LIBS)
|
|
@$(MAKE) -C $(INSN-y) plist
|
|
|
|
plist: $(BINDIR-y)/plist
|
|
|
|
clean:
|
|
$(RM) -f core *~
|
|
$(RM) -rf $(LIBDIR)
|
|
$(RM) -rf bin16 bin32
|
|
$(MAKE) -f Make.config.h clean
|
|
$(MAKE) -C $(LIBPOFFDIR) clean
|
|
$(MAKE) -C $(LIBPASDIR) clean
|
|
$(MAKE) -C $(PASDIR) clean
|
|
$(MAKE) -C $(PLINKDIR) clean
|
|
$(MAKE) -C $(INSN-y) clean
|
|
find . -name \*~ -exec rm -f {} \;
|
|
find tests -name "*.err" -exec rm -f {} \;
|
|
find tests -name "*.lst" -exec rm -f {} \;
|
|
find tests -name "*.pex" -exec rm -f {} \;
|
|
find tests -name "*.o1" -exec rm -f {} \;
|
|
find tests -name "*.o" -exec rm -f {} \;
|
|
|
|
deep-clean: clean
|
|
rm -f .config include/config.h Make.config
|
|
$(RM) bin16/*
|
|
$(RM) bin32/*
|
|
|
|
# ----------------------------------------------------------------------
|