abc/Makefile

83 lines
1.9 KiB
Makefile
Raw Normal View History

2005-07-29 17:01:00 +02:00
CC := gcc
CXX := g++
LD := g++
CP := cp
PROG := abc
2008-07-02 17:01:00 +02:00
MODULES := \
src/base/abc src/base/abci src/base/cmd \
2008-01-31 05:01:00 +01:00
src/base/io src/base/main src/base/ver \
src/bdd/cudd src/bdd/dsd src/bdd/epd src/bdd/mtr \
src/bdd/parse src/bdd/reo src/bdd/cas \
2008-07-02 17:01:00 +02:00
src/map/fpga src/map/mapper src/map/mio src/map/super \
src/map/if \
2008-01-31 05:01:00 +01:00
src/misc/extra src/misc/mvc src/misc/st src/misc/util \
2008-07-17 17:01:00 +02:00
src/misc/nm src/misc/vec src/misc/hash \
2008-07-02 17:01:00 +02:00
src/misc/bzlib src/misc/zlib \
2008-02-02 17:01:00 +01:00
src/opt/cut src/opt/dec src/opt/fxu src/opt/rwr src/opt/mfs \
2008-01-31 05:01:00 +01:00
src/opt/sim src/opt/ret src/opt/res src/opt/lpk src/opt/fret \
src/sat/bsat src/sat/csat src/sat/msat src/sat/fraig \
src/aig/ivy src/aig/hop src/aig/rwt src/aig/deco \
src/aig/mem src/aig/dar src/aig/fra src/aig/cnf \
src/aig/csw src/aig/ioa src/aig/aig src/aig/kit \
2008-07-02 17:01:00 +02:00
src/aig/bdc src/aig/bar src/aig/ntl src/aig/nwk \
src/aig/mfx src/aig/tim src/aig/saig src/aig/bbr
2005-07-29 17:01:00 +02:00
2005-09-10 17:01:00 +02:00
default: $(PROG)
2005-07-29 17:01:00 +02:00
2008-06-10 17:01:00 +02:00
#OPTFLAGS := -DNDEBUG -O3 -DLIN
#OPTFLAGS := -DNDEBUG -O3 -DLIN64
#OPTFLAGS := -g -O -DLIN
2008-03-07 17:01:00 +01:00
OPTFLAGS := -g -O -DLIN64
2005-09-02 17:01:00 +02:00
CFLAGS += -Wall -Wno-unused-function $(OPTFLAGS) $(patsubst %, -I%, $(MODULES))
2005-07-29 17:01:00 +02:00
CXXFLAGS += $(CFLAGS)
2008-07-02 05:01:00 +02:00
LIBS := -ldl -rdynamic -lreadline -ltermcap
2005-07-29 17:01:00 +02:00
SRC :=
GARBAGE := core core.* *.stackdump ./tags $(PROG)
.PHONY: tags clean docs
include $(patsubst %, %/module.make, $(MODULES))
OBJ := \
$(patsubst %.cc, %.o, $(filter %.cc, $(SRC))) \
$(patsubst %.c, %.o, $(filter %.c, $(SRC))) \
$(patsubst %.y, %.o, $(filter %.y, $(SRC)))
DEP := $(OBJ:.o=.d)
# implicit rules
%.d: %.c
./depends.sh $(CC) `dirname $*.c` $(CFLAGS) $*.c > $@
%.d: %.cc
./depends.sh $(CXX) `dirname $*.cc` $(CXXFLAGS) $(CFLAGS) $*.cc > $@
-include $(DEP)
# Actual targets
depend: $(DEP)
clean:
rm -rf $(PROG) $(OBJ) $(GARBAGE) $(OBJ:.o=.d)
tags:
ctags -R .
$(PROG): $(OBJ)
$(LD) -o $@ $^ $(LIBS)
2008-01-31 05:01:00 +01:00
lib$(PROG).a: $(OBJ)
ar rv $@ $?
ranlib $@
2005-07-29 17:01:00 +02:00
docs:
doxygen doxygen.conf