Commit 63b1e6e
.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);