Commit 63b1e6e

mo k <mo@mokhan.ca>
2012-02-18 17:05:53
move all .c and .h files to root and clean up makefile to simplify compilation.
1 parent ed95723
.gitignore
@@ -1,1 +1,3 @@
 *.out
+*.o
+*.depend
main.c
@@ -0,0 +1,16 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "reverse.h"
+
+int main(int argc, const char *argv[])
+{
+  char input[128];
+
+  printf("enter a string to reverse: ");
+  gets(input);
+  reverse(input);
+  printf("%s", input);
+
+  return 0;
+}
makefile
@@ -1,4 +1,35 @@
-FILES = src/*.c
+PROGRAM = practice
+C_FILES := $(wildcard *.c)
+OBJS := $(patsubst %.c, %.o, $(C_FILES))
+CC = cc
+CFLAGS = -Wall -pedantic
+LDFLAGS = 
 
-reverse: $(FILES)
-	cc $(FILES) -o reverse.out
+all: $(PROGRAM)
+
+$(PROGRAM): .depend $(OBJS)
+	$(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(PROGRAM)
+
+depend: .depend
+
+.depend: cmd = gcc -MM -MF depend $(var); cat depend >> .depend;
+.depend:
+	@echo "Generating dependencies..."
+	@$(foreach var, $(C_FILES), $(cmd))
+	@rm -f depend
+
+-include .depend
+
+%.o: %.c
+	$(CC) $(CFLAGS) -c $< -o $@
+
+%: %.c
+	$(CC) $(CFLAGS) -o $@ $<
+
+clean:
+	rm -f *.o *.out .depend
+
+.PHONY: clean depend
+
+list:
+	@echo $(C_FILES)
practice
Binary file
src/main.c → reverse.c
@@ -16,15 +16,3 @@ void reverse(char* input){
     --end;
   }
 }
-
-int main(int argc, const char *argv[])
-{
-  char input[128];
-
-  printf("enter a string to reverse: ");
-  gets(input);
-  reverse(input);
-  printf("%s", input);
-
-  return 0;
-}
reverse.h
@@ -0,0 +1,2 @@
+
+void reverse(char* input);