sous linux seulement :
.PHONY: all clean
SRC = fichier_1.c fichier_2.c fichier_3.c OBJ = $(SRC:.c=.o) BIN = le_nom_de_ton_programme
CFLAGS = `pkg-config --cflags gtk+-2.0` LFLAGS = `pkg-config --libs gtk+-2.0`
CC = gcc -c $< $(CFLAGS) -o $@ LD = gcc -s $^ $(LFLAGS) -o $@ RM = rm -f $(OBJ) $(BIN)
all: $(BIN)
%.o: %.c *.h $(CC)
%.o: %.c $(CC)
$(BIN): $(OBJ) $(LD)
clean: $(RM)
|
sous windows seulement :
.PHONY: all clean
SRC = fichier_1.c fichier_2.c fichier_3.c OBJ = $(SRC:.c=.o) BIN = le_nom_de_ton_programme.exe
CFLAGS = -mconsole -mno-cygwin -mms-bitfields LFLAGS = -latk-1.0.dll -lbluecurve.dll -lfreetype.dll -lgdk_pixbuf-2.0.dll -lgdk-win32-2.0.dll -lglib-2.0.dll -lgmodule-2.0.dll -lgobject-2.0.dll -lgthread-2.0.dll -lgtk-win32-2.0.dll -lintl.dll -ljpeg.dll -llighthouseblue.dll -lpango-1.0.dll -lpangoft2-1.0.dll -lpangowin32-1.0.dll -lpng.dll -lpng12.dll -ltiff.dll -lz.dll -lgdi32 -lole32 -luuid
CC = gcc -c $< $(CFLAGS) -o $@ LD = gcc -s $^ $(LFLAGS) -o $@ RM = del /F /Q $(OBJ) $(BIN)
all: $(BIN)
%.o: %.c *.h $(CC)
%.o: %.c $(CC)
$(BIN): $(OBJ) $(LD)
clean: $(RM)
|
makefile générique windows et linux :
.PHONY: all clean
SRC = fichier_1.c fichier_2.c fichier_3.c OBJ = $(SRC:.c=.o)
ifeq ($(SHELL),sh.exe) CFLAGS = -mconsole -mno-cygwin -mms-bitfields LFLAGS = -latk-1.0.dll -lbluecurve.dll -lfreetype.dll -lgdk_pixbuf-2.0.dll -lgdk-win32-2.0.dll -lglib-2.0.dll -lgmodule-2.0.dll -lgobject-2.0.dll -lgthread-2.0.dll -lgtk-win32-2.0.dll -lintl.dll -ljpeg.dll -llighthouseblue.dll -lpango-1.0.dll -lpangoft2-1.0.dll -lpangowin32-1.0.dll -lpng.dll -lpng12.dll -ltiff.dll -lz.dll -lgdi32 -lole32 -luuid BIN = le_nom_de_ton_programme.exe RM = del /F /Q else CFLAGS = `pkg-config --cflags gtk+-2.0` LFLAGS = `pkg-config --libs gtk+-2.0` BIN = le_nom_de_ton_programme RM = rm -f endif
CC = gcc -c $< $(CFLAGS) -o $@ LD = gcc -s $^ $(LFLAGS) -o $@ RM += $(OBJ) $(BIN)
all: $(BIN)
%.o: %.c *.h $(CC)
%.o: %.c $(CC)
$(BIN): $(OBJ) $(LD)
clean: $(RM)
|
Si tu utilises C++ plutôt que C, remplace 'gcc' par 'g++', et çà devrait fonctionner...
A+