# Simple Makefile to build examples
#
# C flags
-CC=gcc -DDEBUG
-CFLAGS= -Wall -g
-CFLADJ=-c
+CC=gcc
+CFLAGS= -Wall -g -DDEBUG -fPIC
+CFLAGJ= -L./ -lgapil
-OBJ = SockRead.o SockWrite.o
+LIB = libgapil.so
+
+OBJ = SockRead.o SockWrite.o SigHand.o Mutex.o SharedMem.o LockFile.o
FINAL = forktest errcode echo echod daytimed iterdaytimed daytime testfopen \
- testren fortune fortuned
+ testren fortune fortuned mqfortune mqfortuned flock
+
+$(LIB): $(OBJ)
+ gcc -shared $^ -o $@
+
+
+$(OBJ): Gapil.h
+
+all: $(FINAL) $(LIB)
+
-mqfortune: MQFortuneClient.c
- $(CC) $^ -o $@
+flock: Flock.c
+ $(CC) $(CFLAGJ) $^ -o $@
+
+mqfortune: MQFortuneClient.c FortuneParse.c
+ $(CC) $(CFLAGJ) $^ -o $@
mqfortuned: MQFortuneServer.c FortuneParse.c
- $(CC) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
fortune: FortuneClient.c
- $(CC) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
fortuned: FortuneServer.c FortuneParse.c
- $(CC) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
barcode: BarCode.c
- $(CC) $(CFLAGS) $^ -o $@
-
+ $(CC) $(CFLAGJ) $^ -o $@
barcodepage: BarCodePage.c
- $(CC) $(CFLAGS) $^ -o $@
-
+ $(CC) $(CFLAGJ) $^ -o $@
getparam: getparam.c
- $(CC) $(CFLAGS) $^ -o $@
-
-all: $(FINAL)
-
+ $(CC) $(CFLAGJ) $^ -o $@
testfopen: test_fopen.c
- $(CC) $(CFLAGS) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
testren: TestRen.c
- $(CC) $(CFLAGS) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
-forktest: ForkTest.c HandSIGCHLD.c
- $(CC) $(CFLAGS) $^ -o $@
+forktest: ForkTest.c
+ $(CC) $(CFLAGJ) $^ -o $@
errcode: ErrCode.c
- $(CC) $(CFLAGS) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
-echo: SimpleEchoTCPClient.c $(OBJ)
- $(CC) $(CFLAGS) $^ -o $@
+echo: SimpleEchoTCPClient.c
+ $(CC) $(CFLAGJ) $^ -o $@
-echod: SimpleEchoTCPServer.c $(OBJ)
- $(CC) $(CFLAGS) $^ -o $@
+echod: SimpleEchoTCPServer.c
+ $(CC) $(CFLAGJ) $^ -o $@
daytimed: ElemDaytimeTCPCuncServ.c
- $(CC) $(CFLAGS) $^ -o $@
-
-iterdaytimed: SimpleDaytimeTCPServer.c
- $(CC) $(CFLAGS) $^ -o $@
+ $(CC) $(CFLAGJ) $^ -o $@
-daytime: SimpleDaytimeTCPClient.c
- $(CC) $(CFLAGS) $^ -o $@
+iterdaytimed: ElemDaytimeTCPServer.c
+ $(CC) $(CFLAGJ) $^ -o $@
-$(OBJ): wrappers.h
+daytime: ElemDaytimeTCPClient.c
+ $(CC) $(CFLAGJ) $^ -o $@
# Macro per la generazione della tarball dei sorgenti
rm -f $(FINAL)
rm -f *~
rm -f *.o
+ rm -f *.so
rm -f prova*
rm -f output*