+++ /dev/null
-CC=gcc
-CFLAGS=-g -Wall -fPIC
-BIN=bin
-SRC=src
-LIB=lib
-
-ALL: directory $(LIB)/libswift.so $(BIN)/server $(BIN)/client
-
-directory:
- mkdir -p $(BIN)
- mkdir -p $(LIB)
-
-$(LIB)/libswift.so: $(BIN)/lib_swift.o
- gcc -shared $(BIN)/lib_swift.o -o $(LIB)/libswift.so
-
-$(BIN)/client: $(SRC)/client.c
- gcc -Wall $(SRC)/client.c -o $(BIN)/client -lswift -L$(LIB)
-
-$(BIN)/server: $(SRC)/server.c
- gcc -Wall $(SRC)/server.c -o $(BIN)/server -lswift -L$(LIB)
-
-
-$(BIN)/lib_swift.o: $(SRC)/lib_swift.c
- $(CC) $(CFLAGS) -o $(BIN)/lib_swift.o -c $(SRC)/lib_swift.c
-
-clean:
- rm -fr $(BIN) $(LIB)
--- /dev/null
+CFLAGS = -g -Wall -fPIC
+LDFLAGS = -L.
+LDLIBS = -lswift
+
+.PHONY: all clean
+
+all: server client
+
+client: client.o libswift.so
+
+server: server.o libswift.so
+
+client.o: client.c lib_swift.h
+
+server.o: server.c lib_swift.h
+
+libswift.so: lib_swift.o
+ $(CC) -shared -o $@ $^
+
+lib_swift.o: lib_swift.c lib_swift.h
+
+clean:
+ -rm -f server client libswift.so
+ -rm -f *.o
+ -rm -f *~