finally it compiles
[prop.git] / lib-src / Makefile
blob7d8afd076ffeea790a59067a9712e60b74529478
1 #############################################################################
3 # This Makefile is used to compile the library source code.
5 #############################################################################
7 ADLIB_PATH := ../include
8 ad := $(ADLIB_PATH)/ad
9 CC := cl
10 #COPTS = -O6 -fexternal-templates
11 COPTS = /EHsc /nologo
12 #COPTS = -g -fexternal-templates
13 CINCLUDE = -I$(ADLIB_PATH)
14 #AR = ar rv
15 #RANLIB = ranlib
16 LIBRARY = libprop.lib
17 RM = rm
18 PROP = ../../bin/prop
19 PROP_OPTS = -strict -report -I../../include
21 OBJ := obj
23 #############################################################################
24 # A list of all ADLib areas
25 #############################################################################
26 AREAS := automata contain \
27 csp \
28 generic \
29 graph graphtype hash memory \
30 numeric \
31 persist pretty prettypr \
32 prop rete \
33 rewrite strings symbolic \
34 trees tries backend-tools visualize
36 lib: $(LIBRARY)
38 #look for include files in
39 #each of the modules
40 # CFLAGS += $(patsubst %,-I%,$(MODULES))
41 #extra libraries if required
42 LIBS :=
43 #each module will add to this
44 SRC :=
45 #include the description for
46 #each module
47 include $(patsubst %, %/Makefile.mk,$(AREAS))
48 #determine the object files
49 OBJS := $(patsubst %.cc,%.$(OBJ),$(filter %.cc,$(SRC)))
50 #link the program
51 #prog: $(OBJ)
52 #$(CC) -o $@ $(OBJ) $(LIBS)
53 #include the C include
54 #dependencies
55 #include $(OBJ:.o=.d)
56 #calculate C include
58 %.$(OBJ): %.cc
59 $(CC) /Fo$@ -c $(COPTS) $(CINCLUDE) $<
61 %.$(OBJ): %.cpp
62 $(CC) -c $(COPTS) $(CINCLUDE) $<
64 %.$(OBJ): %.cxx
65 $(CC) -c $(COPTS) $(CINCLUDE) $<
67 %.$(OBJ): %.C
68 $(CC) -c $(COPTS) $(CINCLUDE) $<
70 clean:
71 $(RM) $(OBJS)
74 @echo $(SRC)
75 @echo $(OBJS)
77 $(LIBRARY): $(OBJS)
78 $(RM) -f $(LIBRARY)
79 link /LIB /OUT:$(LIBRARY) $(OBJS)
80 @echo "Done"
82 #%.cc: %.pcc
83 # $(PROP) $(PROP_OPTS) $(CINCLUDE) $<
85 #%.h: %.ph
86 # $(PROP) $(PROP_OPTS) $(CINCLUDE) $<
89 #spotless:
90 # for dir in $(AREAS); do \
91 # if [ -d $$dir ]; then $(RM) -f $$dir/*.o; fi; \
92 # done