|
| 1 | +CC ?= cc |
1 | 2 | AR = ar -ru |
2 | 3 | RM = rm -f |
3 | 4 |
|
| 5 | +TARGETDIR ?= linux64 |
| 6 | +BUILDDIR ?= build |
| 7 | + |
| 8 | +OBJDIR := $(BUILDDIR)/obj |
| 9 | +LIBDIR := $(BUILDDIR)/lib |
| 10 | + |
| 11 | +INSTALLDIR := ../../Library/$(TARGETDIR) |
| 12 | + |
4 | 13 | CFLAGS = -O3 -Wno-attributes -fno-delete-null-pointer-checks |
5 | 14 | CPPFLAGS = -DNDEBUG -DHAVE_UNISTD_H -DHAVE_STDARG_H -DHAVE_HIDDEN -DHAVE_MEMCPY |
6 | | -INC = -I"../../C-Sources/zlib" |
| 15 | +INC = -I"../../C-Sources/zlib" |
7 | 16 |
|
8 | | -TARGETDIR = linux64 |
| 17 | +SRC := ../../C-Sources |
| 18 | +ZLIBSRC := $(SRC)/zlib |
9 | 19 |
|
10 | 20 | EXTC_OBJS = \ |
11 | | - ModelicaFFT.o \ |
12 | | - ModelicaInternal.o \ |
13 | | - ModelicaRandom.o \ |
14 | | - ModelicaStrings.o |
| 21 | + $(OBJDIR)/ModelicaFFT.o \ |
| 22 | + $(OBJDIR)/ModelicaInternal.o \ |
| 23 | + $(OBJDIR)/ModelicaRandom.o \ |
| 24 | + $(OBJDIR)/ModelicaStrings.o |
15 | 25 |
|
16 | 26 | TABLES_OBJS = \ |
17 | | - ModelicaStandardTables.o \ |
18 | | - ModelicaStandardTablesUsertab.o |
| 27 | + $(OBJDIR)/ModelicaStandardTables.o \ |
| 28 | + $(OBJDIR)/ModelicaStandardTablesUsertab.o |
19 | 29 |
|
20 | 30 | MATIO_OBJS = \ |
21 | | - ModelicaMatIO.o \ |
22 | | - snprintf.o |
| 31 | + $(OBJDIR)/ModelicaMatIO.o \ |
| 32 | + $(OBJDIR)/snprintf.o |
23 | 33 |
|
24 | 34 | IO_OBJS = \ |
25 | | - ModelicaIO.o |
| 35 | + $(OBJDIR)/ModelicaIO.o |
26 | 36 |
|
27 | 37 | ZLIB_OBJS = \ |
28 | | - adler32.o \ |
29 | | - compress.o \ |
30 | | - crc32.o \ |
31 | | - deflate.o \ |
32 | | - gzclose.o \ |
33 | | - gzlib.o \ |
34 | | - gzread.o \ |
35 | | - gzwrite.o \ |
36 | | - infback.o \ |
37 | | - inffast.o \ |
38 | | - inflate.o \ |
39 | | - inftrees.o \ |
40 | | - trees.o \ |
41 | | - uncompr.o \ |
42 | | - zutil.o |
43 | | - |
44 | | -ALL_OBJS = $(EXTC_OBJS) $(TABLES_OBJS) $(MATIO_OBJS) $(IO_OBJS) $(ZLIB_OBJS) |
45 | | - |
46 | | -all: clean |
47 | | - $(MAKE) libModelicaExternalC.a libModelicaStandardTables.a libModelicaIO.a libModelicaMatIO.a libzlib.a |
48 | | - |
49 | | -libModelicaExternalC.a: $(EXTC_OBJS) |
50 | | - $(AR) $@ $(EXTC_OBJS) |
51 | | - cp $@ ../../Library/$(TARGETDIR)/$@ |
52 | | - |
53 | | -libModelicaStandardTables.a: $(TABLES_OBJS) |
54 | | - $(AR) $@ $(TABLES_OBJS) |
55 | | - cp $@ ../../Library/$(TARGETDIR)/$@ |
56 | | - |
57 | | -libModelicaMatIO.a: $(MATIO_OBJS) |
58 | | - $(AR) $@ $(MATIO_OBJS) |
59 | | - cp $@ ../../Library/$(TARGETDIR)/$@ |
60 | | - |
61 | | -libModelicaIO.a: $(IO_OBJS) |
62 | | - $(AR) $@ $(IO_OBJS) |
63 | | - cp $@ ../../Library/$(TARGETDIR)/$@ |
64 | | - |
65 | | -libzlib.a: $(ZLIB_OBJS) |
66 | | - $(AR) $@ $(ZLIB_OBJS) |
67 | | - cp $@ ../../Library/$(TARGETDIR)/$@ |
68 | | - |
69 | | -ModelicaStandardTables.o: ../../C-Sources/ModelicaStandardTables.c |
70 | | - $(CC) $(CPPFLAGS) -DTABLE_SHARE=1 $(CFLAGS) $(INC) -c -o $@ $< |
| 38 | + $(OBJDIR)/adler32.o \ |
| 39 | + $(OBJDIR)/compress.o \ |
| 40 | + $(OBJDIR)/crc32.o \ |
| 41 | + $(OBJDIR)/deflate.o \ |
| 42 | + $(OBJDIR)/gzclose.o \ |
| 43 | + $(OBJDIR)/gzlib.o \ |
| 44 | + $(OBJDIR)/gzread.o \ |
| 45 | + $(OBJDIR)/gzwrite.o \ |
| 46 | + $(OBJDIR)/infback.o \ |
| 47 | + $(OBJDIR)/inffast.o \ |
| 48 | + $(OBJDIR)/inflate.o \ |
| 49 | + $(OBJDIR)/inftrees.o \ |
| 50 | + $(OBJDIR)/trees.o \ |
| 51 | + $(OBJDIR)/uncompr.o \ |
| 52 | + $(OBJDIR)/zutil.o |
| 53 | + |
| 54 | +LIBS = \ |
| 55 | + $(LIBDIR)/libModelicaExternalC.a \ |
| 56 | + $(LIBDIR)/libModelicaStandardTables.a \ |
| 57 | + $(LIBDIR)/libModelicaIO.a \ |
| 58 | + $(LIBDIR)/libModelicaMatIO.a \ |
| 59 | + $(LIBDIR)/libzlib.a |
| 60 | + |
| 61 | +.PHONY: all install clean |
| 62 | + |
| 63 | +all: $(LIBS) |
| 64 | + |
| 65 | +install: all | $(INSTALLDIR) |
| 66 | + cp $(LIBDIR)/*.a $(INSTALLDIR)/ |
71 | 67 |
|
72 | | -ModelicaStandardTablesUsertab.o: ../../C-Sources/ModelicaStandardTablesUsertab.c |
73 | | - $(CC) $(CPPFLAGS) -DDUMMY_FUNCTION_USERTAB $(CFLAGS) $(INC) -c -o $@ $< |
| 68 | +clean: |
| 69 | + $(RM) -r $(BUILDDIR) |
74 | 70 |
|
75 | | -ModelicaMatIO.o: ../../C-Sources/ModelicaMatIO.c |
76 | | - $(CC) $(CPPFLAGS) -DHAVE_ZLIB=1 $(CFLAGS) $(INC) -c -o $@ $< |
| 71 | +$(OBJDIR) $(LIBDIR) $(INSTALLDIR): |
| 72 | + mkdir -p $@ |
77 | 73 |
|
78 | | -snprintf.o: ../../C-Sources/snprintf.c |
79 | | - $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
| 74 | +$(LIBDIR)/libModelicaExternalC.a: $(EXTC_OBJS) | $(LIBDIR) |
| 75 | + $(AR) $@ $^ |
80 | 76 |
|
81 | | -ModelicaIO.o: ../../C-Sources/ModelicaIO.c |
82 | | - $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
| 77 | +$(LIBDIR)/libModelicaStandardTables.a: $(TABLES_OBJS) | $(LIBDIR) |
| 78 | + $(AR) $@ $^ |
83 | 79 |
|
84 | | -ModelicaFFT.o: ../../C-Sources/ModelicaFFT.c |
85 | | - $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
| 80 | +$(LIBDIR)/libModelicaMatIO.a: $(MATIO_OBJS) | $(LIBDIR) |
| 81 | + $(AR) $@ $^ |
86 | 82 |
|
87 | | -ModelicaInternal.o: ../../C-Sources/ModelicaInternal.c |
88 | | - $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
| 83 | +$(LIBDIR)/libModelicaIO.a: $(IO_OBJS) | $(LIBDIR) |
| 84 | + $(AR) $@ $^ |
89 | 85 |
|
90 | | -ModelicaRandom.o: ../../C-Sources/ModelicaRandom.c |
91 | | - $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
| 86 | +$(LIBDIR)/libzlib.a: $(ZLIB_OBJS) | $(LIBDIR) |
| 87 | + $(AR) $@ $^ |
92 | 88 |
|
93 | | -ModelicaStrings.o: ../../C-Sources/ModelicaStrings.c |
| 89 | +$(OBJDIR)/%.o: $(SRC)/%.c | $(OBJDIR) |
94 | 90 | $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
95 | 91 |
|
96 | | -%.o: ../../C-Sources/zlib/%.c |
| 92 | +$(OBJDIR)/%.o: $(ZLIBSRC)/%.c | $(OBJDIR) |
97 | 93 | $(CC) $(CPPFLAGS) $(CFLAGS) $(INC) -c -o $@ $< |
98 | 94 |
|
99 | | -clean: |
100 | | - $(RM) $(ALL_OBJS) |
101 | | - $(RM) *.a |
102 | | - $(RM) ../../Library/$(TARGETDIR)/*.a |
| 95 | +$(OBJDIR)/ModelicaStandardTables.o: $(SRC)/ModelicaStandardTables.c | $(OBJDIR) |
| 96 | + $(CC) $(CPPFLAGS) -DTABLE_SHARE=1 $(CFLAGS) $(INC) -c -o $@ $< |
| 97 | + |
| 98 | +$(OBJDIR)/ModelicaStandardTablesUsertab.o: $(SRC)/ModelicaStandardTablesUsertab.c | $(OBJDIR) |
| 99 | + $(CC) $(CPPFLAGS) -DDUMMY_FUNCTION_USERTAB $(CFLAGS) $(INC) -c -o $@ $< |
| 100 | + |
| 101 | +$(OBJDIR)/ModelicaMatIO.o: $(SRC)/ModelicaMatIO.c | $(OBJDIR) |
| 102 | + $(CC) $(CPPFLAGS) -DHAVE_ZLIB=1 $(CFLAGS) $(INC) -c -o $@ $< |
0 commit comments