From a3684d01dd57b871dc8f98e8f51e1907339bc179 Mon Sep 17 00:00:00 2001 From: Howard Mao Date: Fri, 20 Apr 2018 11:18:18 -0700 Subject: [PATCH] use build.sbt instead of jar files to collect packages --- Makefrag | 29 +++++++---------------------- build.sbt | 21 +++++++++++++++++---- generate-pkg-mk.sh | 16 ---------------- 3 files changed, 24 insertions(+), 42 deletions(-) delete mode 100755 generate-pkg-mk.sh diff --git a/Makefrag b/Makefrag index 17fe7b72..4594c7f5 100644 --- a/Makefrag +++ b/Makefrag @@ -1,35 +1,20 @@ -lib_dir=$(base_dir)/lib - ROCKETCHIP_DIR=$(base_dir)/rocket-chip -EXTRA_PACKAGES=testchipip -rocketchip_stamp=$(base_dir)/lib/rocketchip.stamp SBT ?= java -Xmx2G -Xss8M -XX:MaxPermSize=256M -jar $(ROCKETCHIP_DIR)/sbt-launch.jar -extra_stamps = $(addprefix $(lib_dir)/,$(addsuffix .stamp,$(EXTRA_PACKAGES))) lookup_scala_srcs = $(shell find $(1)/ -iname "*.scala" 2> /dev/null) -libs: $(rocketchip_stamp) $(extra_stamps) +PACKAGES=rocket-chip testchipip +SCALA_SOURCES=$(foreach pkg,$(PACKAGES),$(call lookup_scala_srcs,$(base_dir)/$(pkg)/src/main/scala)) $(call lookup_scala_srcs,$(base_dir)/src/main/scala) -ROCKETCHIP_JAR = $(lib_dir)/rocketchip_2.11-1.2.jar -FIRRTL_JAR ?= $(ROCKETCHIP_DIR)/firrtl/utils/bin/firrtl.jar -FIRRTL ?= java -Xmx2G -Xss8M -XX:MaxPermSize=256M -cp $(ROCKETCHIP_JAR):$(FIRRTL_JAR) firrtl.Driver - -$(rocketchip_stamp): $(call lookup_scala_srcs, $(ROCKETCHIP_DIR)) $(FIRRTL_JAR) - cd $(ROCKETCHIP_DIR) && $(SBT) pack - mkdir -p $(lib_dir) - cp $(ROCKETCHIP_DIR)/target/pack/lib/*.jar $(lib_dir) - touch $(rocketchip_stamp) - --include $(base_dir)/Makefrag.pkgs - -$(base_dir)/Makefrag.pkgs: $(base_dir)/generate-pkg-mk.sh - bash $(base_dir)/generate-pkg-mk.sh $(EXTRA_PACKAGES) > $@ +ROCKET_CLASSES ?= "$(ROCKETCHIP_DIR)/target/scala-2.11/classes:$(ROCKETCHIP_DIR)/chisel3/target/scala-2.11/*" +FIRRTL_JAR ?= $(ROCKETCHIP_DIR)/lib/firrtl.jar +FIRRTL ?= java -Xmx2G -Xss8M -XX:MaxPermSize=256M -cp $(ROCKET_CLASSES):$(FIRRTL_JAR) firrtl.Driver $(FIRRTL_JAR): $(call lookup_scala_srcs, $(ROCKETCHIP_DIR)/firrtl/src/main/scala) $(MAKE) -C $(ROCKETCHIP_DIR)/firrtl SBT="$(SBT)" root_dir=$(ROCKETCHIP_DIR)/firrtl build-scala mkdir -p $(ROCKETCHIP_DIR)/lib - cp -p $(FIRRTL_JAR) $(ROCKETCHIP_DIR)/lib + cp -p $(ROCKETCHIP_DIR)/firrtl/utils/bin/firrtl.jar $(FIRRTL_JAR) build_dir=$(sim_dir)/generated-src testchip_dir = $(base_dir)/testchipip @@ -42,7 +27,7 @@ FIRRTL_FILE=$(build_dir)/$(PROJECT).$(MODEL).$(CONFIG).fir ANNO_FILE=$(build_dir)/$(PROJECT).$(MODEL).$(CONFIG).anno VERILOG_FILE=$(build_dir)/$(PROJECT).$(MODEL).$(CONFIG).v -$(FIRRTL_FILE) $(ANNO_FILE): $(rocketchip_stamp) $(extra_stamps) $(call lookup_scala_srcs,$(base_dir)/src/main/scala) $(bootrom_img) +$(FIRRTL_FILE) $(ANNO_FILE): $(SCALA_SOURCES) $(bootrom_img) $(FIRRTL_JAR) mkdir -p $(build_dir) cd $(base_dir) && $(SBT) "runMain $(PROJECT).Generator $(CHISEL_ARGS) $(build_dir) $(PROJECT) $(MODEL) $(CFG_PROJECT) $(CONFIG)" diff --git a/build.sbt b/build.sbt index c509aac8..1cc3a955 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,20 @@ -organization := "edu.berkeley.cs" +lazy val commonSettings = Seq( + organization := "edu.berkeley.cs", + version := "1.0", + scalaVersion := "2.11.12", + traceLevel := 15, + scalacOptions ++= Seq("-deprecation","-unchecked"), + libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.1" % "test", + libraryDependencies += "org.json4s" %% "json4s-native" % "3.5.3", + libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value, + addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full), + resolvers ++= Seq( + Resolver.sonatypeRepo("snapshots"), + Resolver.sonatypeRepo("releases"), + Resolver.mavenLocal)) -version := "1.0" +lazy val rocketchip = RootProject(file("rocket-chip")) -name := "testchip-example" +lazy val testchipip = project.settings(commonSettings).dependsOn(rocketchip) -scalaVersion := "2.11.12" +lazy val example = (project in file(".")).settings(commonSettings).dependsOn(testchipip) diff --git a/generate-pkg-mk.sh b/generate-pkg-mk.sh deleted file mode 100755 index dd413896..00000000 --- a/generate-pkg-mk.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -base_dir=$(dirname $0) - -for pkg in $@ -do - pkg_dir="${base_dir}/${pkg}" - cat <