https://github.com/dkrashen/NefWiz
Raw File
Tip revision: 2f9f86175ff08e0b3fe6a379ea60f397d77b33ee authored by dkrashen on 26 April 2014, 14:07:02 UTC
initial commit!
Tip revision: 2f9f861
makefile
##############################################################
#
# 	BASIC DEFINITIONS
#
##############################################################



##############################################################
# PATHS       
##############################################################

###########################################
# this should be the main nefwiz directory
BASE_DIR = .
###########################################

OBJ_DIR = $(BASE_DIR)/lib

SRC_DIR = $(BASE_DIR)/src

INCLUDE_DIR = $(BASE_DIR)/lib/include

##############################################################
# COMPILER OPTIONS
##############################################################

CC = gcc

LEX = flex

CFLAGS = -O3 -I$(INCLUDE_DIR) -I$(SRC_DIR) -I$(OBJ_DIR) -lm

CFLAGS_CONE = -o

##############################################################
# MAKE DIRECTORIES TO FIND DEPENDENCIES
##############################################################

VPATH = $(INCLUDE_DIR):$(SRC_DIR):$(OBJ_DIR)

##############################################################

OBJ = $(OBJ_DIR)/list.o $(OBJ_DIR)/divisor.o \
$(OBJ_DIR)/big_arithmetic.o $(OBJ_DIR)/restriction.o \
$(OBJ_DIR)/easy_filters.o $(OBJ_DIR)/flag.o $(OBJ_DIR)/proof.o \
$(OBJ_DIR)/proof_tree.o $(OBJ_DIR)/latex_display.o 


BIN = $(BASE_DIR)/filter $(BASE_DIR)/div2prf $(BASE_DIR)/autodiv2prf


GENERATED = $(SRC_DIR)/autodiv2prf.c $(SRC_DIR)/wizcalc.c $(SRC_DIR)/rescalc.c

####################################################################

####################################################################

default: 
	@cd $(OBJ_DIR) ; $(MAKE)
	@$(MAKE) conestuff
	@$(MAKE) bin
	@$(MAKE) lrs

backup:
	@bash bin/backup_script

bin: $(BIN)

#############################################################

$(BASE_DIR)/filter: list.h divisor.h $(OBJ) $(SRC_DIR)/filter.c
	$(CC) $(CFLAGS) -o $(BASE_DIR)/filter $(SRC_DIR)/filter.c $(OBJ)
	@cp $(SRC_DIR)/ezwizit $(BASE_DIR)
	@cp $(SRC_DIR)/wizit $(BASE_DIR)
	@cp $(SRC_DIR)/prfit $(BASE_DIR)

$(BASE_DIR)/div2prf: list.h divisor.h $(OBJ) \
 $(SRC_DIR)/div2prf.c
	$(CC) $(CFLAGS) -o $(BASE_DIR)/div2prf \
 $(SRC_DIR)/div2prf.c $(OBJ)

$(BASE_DIR)/autodiv2prf: list.h divisor.h $(OBJ) \
 $(SRC_DIR)/autodiv2prf.c
	$(CC) $(CFLAGS) -o $(BASE_DIR)/autodiv2prf \
 $(SRC_DIR)/autodiv2prf.c $(OBJ)

#############################################################
# CONE STUFF
#############################################################

CONE_BIN_DIR = cones/bin

CONE_SRC_DIR = src/cone_src

CONE_BIN = $(CONE_BIN_DIR)/ftestmg $(CONE_BIN_DIR)/flag2mg \
$(CONE_BIN_DIR)/mg2flag $(CONE_BIN_DIR)/linelength \
$(CONE_BIN_DIR)/standardform $(CONE_BIN_DIR)/rm_format \
$(CONE_BIN_DIR)/reduce $(CONE_BIN_DIR)/clearden $(CONE_BIN_DIR)/genieq_flag \
$(CONE_BIN_DIR)/genieq_mg $(CONE_BIN_DIR)/gen_cone_script \
$(CONE_BIN_DIR)/findline

CONE_GENERATED = $(CONE_SRC_DIR)/linelength.c $(CONE_SRC_DIR)/standardform.c \
$(CONE_SRC_DIR)/reduce.c $(CONE_SRC_DIR)/clearden.c \
$(CONE_SRC_DIR)/rm_format.c $(CONE_SRC_DIR)/mg2flag.c \
$(CONE_SRC_DIR)/flag2mg.c $(CONE_SRC_DIR)/ftestmg.c


conestuff : $(CONE_BIN)
	@cp $(CONE_SRC_DIR)/make_cones $(BASE_DIR)

$(CONE_BIN_DIR)/ftestmg : $(CONE_SRC_DIR)/ftestmg.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/ftestmg $(CONE_SRC_DIR)/ftestmg.c

$(CONE_BIN_DIR)/flag2mg : $(CONE_SRC_DIR)/flag2mg.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/flag2mg $(CONE_SRC_DIR)/flag2mg.c

$(CONE_BIN_DIR)/mg2flag : $(CONE_SRC_DIR)/mg2flag.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/mg2flag $(CONE_SRC_DIR)/mg2flag.c

$(CONE_BIN_DIR)/linelength : $(CONE_SRC_DIR)/linelength.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/linelength \
$(CONE_SRC_DIR)/linelength.c

$(CONE_BIN_DIR)/standardform : $(CONE_SRC_DIR)/standardform.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/standardform \
$(CONE_SRC_DIR)/standardform.c

$(CONE_BIN_DIR)/reduce : $(CONE_SRC_DIR)/reduce.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/reduce $(CONE_SRC_DIR)/reduce.c

$(CONE_BIN_DIR)/clearden : $(CONE_SRC_DIR)/clearden.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/clearden \
$(CONE_SRC_DIR)/clearden.c

$(CONE_BIN_DIR)/rm_format : $(CONE_SRC_DIR)/rm_format.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/rm_format \
$(CONE_SRC_DIR)/rm_format.c

$(CONE_BIN_DIR)/genieq_flag : $(CONE_SRC_DIR)/genieq_flag.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/genieq_flag \
$(CONE_SRC_DIR)/genieq_flag.c

$(CONE_BIN_DIR)/genieq_mg : $(CONE_SRC_DIR)/genieq_mg.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/genieq_mg \
$(CONE_SRC_DIR)/genieq_mg.c

$(CONE_BIN_DIR)/findline : $(CONE_SRC_DIR)/findline.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/findline \
$(CONE_SRC_DIR)/findline.c

$(CONE_BIN_DIR)/gen_cone_script : $(CONE_SRC_DIR)/gen_cone_script.c
	$(CC) $(CFLAGS_CONE) $(CONE_BIN_DIR)/gen_cone_script \
$(CONE_SRC_DIR)/gen_cone_script.c

clean_cones :
	rm -f $(CONE_BIN) $(CONE_GENERATED) $(BASE_DIR)/make_cones
	cd cones ; bash bin/clear_cones ; cd ..


#############################################################
# LRS
#############################################################

lrs:
	@echo installing lrs files...
	@mv src/lrslib-041.tar.gz ./
	@gunzip lrslib-041.tar.gz
	@tar -xf lrslib-041.tar
	@cd lrslib-041 ; $(MAKE) -s ; cp ./lrs ../cones/bin ; \
cp ./redund ../cones/bin
	@gzip lrslib-041.tar
	@mv lrslib-041.tar.gz src
	@rm -f -r lrslib-041/
	@echo done.

clean_lrs:
	rm -f cones/bin/lrs cones/bin/redund

#############################################################

clean:
	rm -f $(BIN) $(GENERATED) $(BASE_DIR)/wizit $(BASE_DIR)/ezwizit \
$(BASE_DIR)/prfit
	@cd $(OBJ_DIR) ; $(MAKE) clean
	@$(MAKE) clean_cones
	$(MAKE) clean_lrs

back to top