specify app lib dependencies in Makefiles (patch 1/3)
[mesa.git] / progs / osdemos / Makefile
1 # progs/demos/Makefile
2
3 TOP = ../..
4 include $(TOP)/configs/current
5
6 INCDIR = $(TOP)/include
7
8 OSMESA_LIBS = -L$(TOP)/$(LIB_DIR) -lOSMesa $(APP_LIB_DEPS)
9
10 OSMESA16_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa16 -lGLU -lGL $(APP_LIB_DEPS)
11
12 OSMESA32_LIBS = -L$(TOP)/$(LIB_DIR) -lglut -lOSMesa32 -lGLU -lGL $(APP_LIB_DEPS)
13
14 LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
15
16 LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
17
18 PROGS = \
19 osdemo \
20 ostest1
21
22
23 ##### RULES #####
24
25 .SUFFIXES:
26 .SUFFIXES: .c
27
28
29 # make executable from .c file:
30 .c: $(LIB_DEP) readtex.o
31 $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) $< readtex.o $(LIBS) -o $@
32
33
34 ##### TARGETS #####
35
36 default: readtex.o $(PROGS)
37
38
39 readtex.c: $(TOP)/progs/util/readtex.c
40 cp $< .
41
42 readtex.h: $(TOP)/progs/util/readtex.h
43 cp $< .
44
45 readtex.o: readtex.c readtex.h
46 $(CC) -c -I$(INCDIR) $(CFLAGS) readtex.c
47
48
49 showbuffer.c: $(TOP)/progs/util/showbuffer.c
50 cp $< .
51
52 showbuffer.h: $(TOP)/progs/util/showbuffer.h
53 cp $< .
54
55 showbuffer.o: showbuffer.c showbuffer.h
56 $(CC) -c -I$(INCDIR) $(CFLAGS) showbuffer.c
57
58
59 # special case: need the -lOSMesa library:
60 osdemo: osdemo.c
61 $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo.c $(OSMESA_LIBS) -o $@
62
63 # special case: need the -lOSMesa library:
64 ostest1: ostest1.c
65 $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) ostest1.c $(OSMESA_LIBS) -o $@
66
67 # another special case: need the -lOSMesa16 library:
68 osdemo16: osdemo16.c
69 $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo16.c $(OSMESA16_LIBS) -o $@
70
71 # another special case: need the -lOSMesa32 library:
72 osdemo32: osdemo32.c
73 $(CC) -I$(INCDIR) $(CFLAGS) $(LDFLAGS) osdemo32.c $(OSMESA32_LIBS) -o $@
74
75
76
77 clean:
78 -rm -f $(PROGS)
79 -rm -f *.o *~
80 -rm -f readtex.[ch] showbuffer.[ch]
81 -rm -f *.ppm
82 -rm -f osdemo16 osdemo32
83
84