# Compilateur COLORGCC := $(shell which colorgcc >/dev/null 2>&1 ; echo $$?) ifeq ($(COLORGCC), 0) CC = colorgcc endif # Autres outils AR = ar RANLIB = ranlib RM = rm -f # Variables générales LIB_CIBLE = libowlps-resultreader VERSION = 1.0 # Cibles à construire STATIC = $(LIB_CIBLE).a HEADER = owlps-resultreader.h EXAMPLE = owlps-resultreader-udp # Composition de la bibliothèque OBJS = $(LIB_CIBLE).o # Flags LIBOWLPS_DIR = ../libowlps CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes -O -I$(LIBOWLPS_DIR) #CFLAGS += -g -O0 CFLAGS += -D DEBUG DEPFLAGS = -MMD XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) PICFLAG = -fPIC #STRIPFLAGS = -Wl,-s #LDFLAGS = ## Cibles de compilation standard ## .PHONY : all static clean purge help all : static example static : $(STATIC) example : $(EXAMPLE) # Cancel implicit make rule %: %.c %.o : %.c $(HEADER) $(CC) $(XCFLAGS) -c $< % : %.o $(HEADER) $(STATIC) $(CC) $(STRIPFLAGS) $(XCFLAGS) -o $@ $< \ $(STATIC) -L$(LIBOWLPS_DIR) -lowlps -lrt # Compilation de la bibliothèque statique $(STATIC) : $(OBJS) $(RM) $@ $(AR) cru $@ $^ $(RANLIB) $@ ## Nettoyage ## clean : @$(RM) *~ *.o *.d purge : clean @$(RM) $(STATIC) $(EXAMPLE) ## Aide ## help : @echo "Bibliothèques nécessaires à la compilation :" @echo " libowlps-dev" @echo @echo "Cibles possibles :" @echo " static : Compile la bibliothèque statique (.a)." @echo " example : Compile le programme d'exemple." @echo " (Cible par défaut : static et example.)" @echo @echo " clean : Supprime les fichiers temporaires." @echo " purge : Supprime le résultat de la compilation."