summaryrefslogtreecommitdiff
path: root/misc/pascal/Makefile
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-01-04 22:52:02 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2008-01-04 22:52:02 +0000
commiteca8fc5427fae36404c8f3772f8ed4f2f36100ea (patch)
tree15ba7e23c47bc4d4b4fdc59d730c3e0eb7b03fa6 /misc/pascal/Makefile
parent2d2c6392898b29ae89d41a779ef712fb901900ac (diff)
downloadnuttx-eca8fc5427fae36404c8f3772f8ed4f2f36100ea.tar.gz
nuttx-eca8fc5427fae36404c8f3772f8ed4f2f36100ea.tar.bz2
nuttx-eca8fc5427fae36404c8f3772f8ed4f2f36100ea.zip
Pascal
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@485 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'misc/pascal/Makefile')
-rw-r--r--misc/pascal/Makefile115
1 files changed, 115 insertions, 0 deletions
diff --git a/misc/pascal/Makefile b/misc/pascal/Makefile
new file mode 100644
index 000000000..b8af29415
--- /dev/null
+++ b/misc/pascal/Makefile
@@ -0,0 +1,115 @@
+# ----------------------------------------------------------------------
+# 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/*
+
+# ----------------------------------------------------------------------