]> rtime.felk.cvut.cz Git - mf6xx.git/blob - src/hudaqlib/makefile
QEMU mf624.c formatted to make QEMU checkpatch.pl mostly happy.
[mf6xx.git] / src / hudaqlib / makefile
1 # makefile for hudaqlib for (gcc)
2 # runs under Linux
3 #
4 TARGET_LIB = hudaqlib.a
5 TARGET_DLL = libhudaqlib.so.2.4
6
7 #optional components
8 MF61X   := 1
9 MF62X   := 1
10 PCI1753 := 1
11 PCD7004 := 1
12 PCT7303B := 1
13
14
15 GCC=gcc
16 FLAGS=-Wall -O2 -I./include/ -fno-exceptions
17 #FLAGS+=-DERROR_HANDLER
18 OBJ=.o
19 LOBJ=.lo
20
21 OBJDIR := .
22
23
24 OBJECTS+=$(OBJDIR)/resources$(OBJ)
25 OBJECTS+=$(OBJDIR)/generic$(OBJ)
26 OBJECTS+=$(OBJDIR)/opendevh$(OBJ)
27
28 LOBJECTS+=$(OBJDIR)/resources$(LOBJ)
29 LOBJECTS+=$(OBJDIR)/generic$(LOBJ)
30 LOBJECTS+=$(OBJDIR)/opendevh$(LOBJ)
31
32 ifneq ($(MF61X),0)
33   LOBJECTS+=$(OBJDIR)/MF614$(LOBJ)
34   OBJECTS+=$(OBJDIR)/MF614$(OBJ)
35   FLAGS+=-DMF61X
36 endif
37 ifneq ($(MF62X),0)
38   LOBJECTS+=$(OBJDIR)/MF624$(LOBJ)
39   OBJECTS+=$(OBJDIR)/MF624$(OBJ)
40   FLAGS+=-DMF62X
41 endif
42 ifneq ($(PCI1753),0)
43   LOBJECTS+=$(OBJDIR)/PCI1753$(LOBJ)
44   OBJECTS+=$(OBJDIR)/PCI1753$(OBJ)
45   FLAGS+=-DPCI1753
46 endif
47 ifneq ($(PCD7004),0)
48   LOBJECTS+=$(OBJDIR)/PCD7004$(LOBJ)
49   OBJECTS+=$(OBJDIR)/PCD7004$(OBJ)
50   FLAGS+=-DPCD7004
51 endif
52 ifneq ($(PCT7303B),0)
53   LOBJECTS+=$(OBJDIR)/PCT7303B$(LOBJ)
54   OBJECTS+=$(OBJDIR)/PCT7303B$(OBJ)
55   FLAGS+=-DPCT7303B
56 endif
57
58
59 .SUFFIXES: .c .cc $(OBJ) $(LOBJ) .exe .a .so
60
61 .cc$(OBJ): $(MAKEFILE_LIST)
62         $(GCC) $(FLAGS) $(DEBUG) -c $*.cc $(ERROR) -o $*$(OBJ) $(GETTEXT)
63
64 .c$(OBJ): $(MAKEFILE_LIST)
65         $(GCC) $(FLAGS) $(DEBUG) -c $*.c $(ERROR) -o $*$(OBJ) $(GETTEXT)
66
67 .c$(LOBJ): $(MAKEFILE_LIST)
68         $(GCC) $(FLAGS) -fpic $(DEBUG) -c $*.c $(ERROR) -o $*$(LOBJ) $(GETTEXT)
69
70
71   
72 default: $(OBJDIR) $(TARGET_LIB) $(TARGET_DLL)
73
74 all:     $(OBJDIR) $(TARGET_LIB) $(TARGET_DLL)
75 #       cp -f strings/*.h include/*.h
76 #       cp -f sets/*.h include/*.h
77
78   
79 $(TARGET_LIB): $(OBJECTS) $(MAKEFILE_LIST)
80         echo $(OBJECTS)
81 #       echo $(FLAGS)
82         ar rcs $(TARGET_LIB) $(OBJECTS)
83
84 $(TARGET_DLL): $(LOBJECTS) $(MAKEFILE_LIST)
85         gcc -shared $(LOBJECTS) -fvisibilty=hidden -lrt -lm -Wl,-soname,libhudaqlib.so -o $(TARGET_DLL)
86         ln -s -f $(TARGET_DLL) libhudaqlib.so
87
88 $(OBJDIR) :
89         mkdir -p $@
90
91
92 $(OBJDIR)/struct$(OBJ) $(OBJDIR)/struct$(LOBJ) :       struct.c
93
94 $(OBJDIR)/resources$(OBJ) $(OBJDIR)/resources$(LOBJ) : resources.c hudaqlib.h hudaq_internal.h
95 $(OBJDIR)/generic$(OBJ) $(OBJDIR)/generic$(LOBJ) :     generic.c hudaqlib.h hudaq_internal.h
96 $(OBJDIR)/MF614$(OBJ) $(OBJDIR)/MF614$(LOBJ) :         MF614.c hudaqlib.h hudaq_internal.h
97 $(OBJDIR)/MF624$(OBJ) $(OBJDIR)/MF624$(LOBJ) :         MF624.c hudaqlib.h hudaq_internal.h
98 $(OBJDIR)/opendevh$(OBJ) $(OBJDIR)/opendevh$(LOBJ) :   opendevh.c
99
100
101 patch:
102         patch /usr/share/pci.ids ./pci.ids.patch
103
104 clean:
105         rm -f *.exe bin/*.exe *$(OBJ) *$(LOBJ) *.obj *.bak core *.bak *.bkp *.a *.so
106         rm -f $(TARGET_DLL) include/*.bak include/*.bkp
107
108 distclean: clean
109         rm -f *.a *.so  
110
111 install: $(TARGET_DLL)
112         cp $(TARGET_DLL) /lib
113         ldconfig /lib
114
115
116