From: Mart Lubbers Date: Wed, 23 Mar 2016 18:02:08 +0000 (+0100) Subject: improved makefile X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=3fc66581b10fbfc3f9abeba0ffc6fa8d0a099b24;p=mc1516pa.git improved makefile --- diff --git a/modelchecker/Makefile b/modelchecker/Makefile index e527f22..80fb895 100644 --- a/modelchecker/Makefile +++ b/modelchecker/Makefile @@ -4,11 +4,9 @@ OBJS:=sokoban.o mc.o CFLAGS=-O3 -Wextra -Wall -Werror -fno-strict-aliasing -std=gnu11 \ -I./sylvan/src -$(PROGRAM): $(PROGRAM).c $(OBJS) - $(CC) $(CFLAGS) -o $@ $< - -%.o: %.c %.h - $(CC) $(CFLAGS) -c -o $@ $< +# We combine all the object files into one executable +$(PROGRAM): $(PROGRAM).o $(OBJS) + $(CC) $< $(OBJS) -o $@ clean: - $(RM) -v $(PROGRAM) $(OBJS) + $(RM) -v $(PROGRAM).o $(PROGRAM) $(OBJS) diff --git a/modelchecker/main.c b/modelchecker/main.c index c439d30..e2e330b 100644 --- a/modelchecker/main.c +++ b/modelchecker/main.c @@ -5,12 +5,15 @@ #include #include "mc.h" +#include "sokoban.h" //#include //#include //#include +//Global variables bool DEBUG = false; +strategy strat = HYBRID; void usage(char *prg){ fprintf(stderr, @@ -34,30 +37,34 @@ void usage(char *prg){ } void solve(FILE *inputstream){ - clock_t time_start, time_file_read; - int buffer; + clock_t time_start_read, time_end_read; + clock_t time_start_encode, time_end_encode; - time_start = clock(); - while((buffer = fgetc(inputstream)) != EOF){ - printf("%c", buffer); - // Alex: - // Screen reading - // - Removing outside walls - // - Bucket fill - // - [tile] - // - tile = structure {int, int, enumtile} + time_start_read = clock(); + //struct sokoban_screen *screen = parse_screen(inputstream); + parse_screen(inputstream); + time_end_read = clock(); + + time_start_encode = clock(); + switch(strat){ + case COORD: + case OBJECT: + case HYBRID: + default: + fprintf(stderr, "Huh?"); + exit(2); } - time_file_read = clock(); + time_end_encode = clock(); - // Both: Encoding in both schemes // Future: SMC - fprintf(stderr, "CPU time taken: %fs\n", - ((double) (time_file_read-time_start))/CLOCKS_PER_SEC); + fprintf(stderr, "Reading: %fs\n", + ((double) (time_end_read-time_start_read))/CLOCKS_PER_SEC); + fprintf(stderr, "Encoding: %fs\n", + ((double) (time_end_encode-time_start_encode))/CLOCKS_PER_SEC); } int main(int argc, char **argv){ - strategy strat = HYBRID; int optchar; while((optchar = getopt(argc, argv, "cdhoy")) != -1){ diff --git a/modelchecker/sokoban.c b/modelchecker/sokoban.c index e69de29..e302670 100644 --- a/modelchecker/sokoban.c +++ b/modelchecker/sokoban.c @@ -0,0 +1,17 @@ +#include + +#include "sokoban.h" + +struct sokoban_screen *parse_screen(FILE *stream){ + int buffer; + while((buffer = fgetc(stream)) != EOF){ + printf("%c", buffer); + } + // Alex: + // Screen reading + // - Removing outside walls + // - Bucket fill + // - [tile] + // - tile = structure {int, int, enumtile} + return NULL; +} diff --git a/modelchecker/sokoban.h b/modelchecker/sokoban.h index 95dc079..50e9893 100644 --- a/modelchecker/sokoban.h +++ b/modelchecker/sokoban.h @@ -7,9 +7,9 @@ struct sokoban_screen { int x; int y; sokoban_tile tile; - sokoban_screen *next; + struct sokoban_screen *next; }; -sokoban_screen *parse(FILE *stream); +struct sokoban_screen *parse_screen(FILE *stream); #endif