diff options
Diffstat (limited to 'ext/dsent/Makefile')
-rw-r--r-- | ext/dsent/Makefile | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/dsent/Makefile b/ext/dsent/Makefile new file mode 100644 index 000000000..124188353 --- /dev/null +++ b/ext/dsent/Makefile @@ -0,0 +1,55 @@ + +# Define the directories that will be compiled +DIRS_TO_COMPILE := util tech io \ + model model/timing_graph \ + model/std_cells \ + model/electrical \ + model/electrical/router \ + model/optical \ + model/optical_graph \ + model/network \ + model/network/ATAC + +DIRS = $(patsubst %,$(CURDIR)/%,$(DIRS_TO_COMPILE)) + +SRCS = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cc)) + +OBJS = $(SRCS:%.cc=%.o) + +DEF_FLAGS = +INCLUDE_FLAGS = -I$(CURDIR) +OPT_FLAGS = -O2 -g +WARN_FLAGS = -pedantic -Wall -W #-Wextra -Werror -Wno-write-strings +CXXFLAGS = $(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(DEF_FLAGS) + +LD_LIBS += -lutil +LD_FLAGS += -Llibutil + +# Other libraries used +LIB_UTIL = libutil/libutil.a + +#TARGET = $(CURDIR)/libdsent.a +TARGET = $(CURDIR)/dsent + +all: $(TARGET) + +#$(TARGET): $(OBJS) +# ar rcs $@ $^ +$(TARGET): main.o DSENT.o $(LIB_UTIL) $(OBJS) + $(CXX) $(CXXFLAGS) $(LD_FLAGS) $(OBJS) main.o DSENT.o -o $(TARGET) $(LD_LIBS) + +# For general c++ compilation +%.o: %.cc + $(CXX) $(CXXFLAGS) -c $< -o $@ + +$(LIB_UTIL): + $(MAKE) -C $(CURDIR)/libutil + +%/created: + mkdir -p $(dir $@) + touch $@ + +.phony: clean +clean: + $(RM) -rf main.o DSENT.o $(OBJS) $(TARGET) + $(MAKE) -C $(CURDIR)/libutil clean |