improved makefile
authorMart Lubbers <mart@martlubbers.net>
Wed, 23 Mar 2016 18:02:08 +0000 (19:02 +0100)
committerMart Lubbers <mart@martlubbers.net>
Wed, 23 Mar 2016 18:02:08 +0000 (19:02 +0100)
modelchecker/Makefile
modelchecker/main.c
modelchecker/sokoban.c
modelchecker/sokoban.h

index e527f22..80fb895 100644 (file)
@@ -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)
index c439d30..e2e330b 100644 (file)
@@ -5,12 +5,15 @@
 
 #include <sylvan.h>
 #include "mc.h"
+#include "sokoban.h"
 
 //#include <sokoban.h>
 //#include <object.h>
 //#include <coord.h>
 
+//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){
index e69de29..e302670 100644 (file)
@@ -0,0 +1,17 @@
+#include <stdio.h>
+
+#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;
+}
index 95dc079..50e9893 100644 (file)
@@ -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