| 1 | #
|
|---|
| 2 | # Makefile for the NOM IDL compiler.
|
|---|
| 3 | #
|
|---|
| 4 | include ./../make.inc
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 | OBJDIR = ./../../../o
|
|---|
| 8 | BINDIR = ./../../../bin
|
|---|
| 9 | DOCDIR = ./../../../docs
|
|---|
| 10 | CDIR = ./c
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 | PARSERDIR = ./parser_c
|
|---|
| 14 | HEMITTERDIR = ./h-emitter_c
|
|---|
| 15 | IHEMITTERDIR = ./ih-emitter_c
|
|---|
| 16 | CEMITTERDIR = ./c-emitter_c
|
|---|
| 17 |
|
|---|
| 18 | CFLAGS = -Zmt -Zcrtdll -D__OS2__ -D__ST_MT_ERRNO__ -c -Wall
|
|---|
| 19 |
|
|---|
| 20 | CLASSINC = ./class_h
|
|---|
| 21 | INCDIR = ./include
|
|---|
| 22 |
|
|---|
| 23 | INC = ./include -I $(NOMPATH)/include
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 | # Define objects to build
|
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 | PGOBJECTS = $(OBJDIR)/nom-idl-compiler.o \
|
|---|
| 30 | $(OBJDIR)/token.o \
|
|---|
| 31 | $(OBJDIR)/util.o \
|
|---|
| 32 | $(OBJDIR)/emitter.o \
|
|---|
| 33 | $(OBJDIR)/open_outfile.o \
|
|---|
| 34 | $(OBJDIR)/printdata.o \
|
|---|
| 35 | $(OBJDIR)/typespec_parser.o \
|
|---|
| 36 | $(OBJDIR)/method_parser.o \
|
|---|
| 37 | $(OBJDIR)/instancevar_parser.o \
|
|---|
| 38 | $(OBJDIR)/interface_parser.o \
|
|---|
| 39 | $(OBJDIR)/classversion_parser.o \
|
|---|
| 40 | $(OBJDIR)/override_parser.o \
|
|---|
| 41 | $(OBJDIR)/hash_parser.o \
|
|---|
| 42 | $(OBJDIR)/lineinfo_parser.o \
|
|---|
| 43 | $(OBJDIR)/metaclass_parser.o \
|
|---|
| 44 | $(OBJDIR)/filestem_parser.o \
|
|---|
| 45 | $(OBJDIR)/h_file_emitter.o \
|
|---|
| 46 | $(OBJDIR)/ih_file_emitter.o \
|
|---|
| 47 | $(OBJDIR)/c_file_emitter.o
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 | #$(CLASSINC)/wpnativetypes.ih \
|
|---|
| 51 |
|
|---|
| 52 |
|
|---|
| 53 | .PRECIOUS: $(CDIR)/%.c
|
|---|
| 54 |
|
|---|
| 55 | .PHONY: dox
|
|---|
| 56 |
|
|---|
| 57 | all: $(BINDIR)/nom-idl-compiler.exe
|
|---|
| 58 |
|
|---|
| 59 | $(BINDIR)/nom-idl-compiler.exe: $(OBJDIR)/o.dep $(PGOBJECTS)
|
|---|
| 60 | @echo "[33;1;mLinking "$@"...[0;m"
|
|---|
| 61 | $(CC) -o $@ $(PGOBJECTS) $(LIBS)
|
|---|
| 62 | @echo "[32;1;mDone linking "$@"...[0;m"
|
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 | ###################################
|
|---|
| 66 | #
|
|---|
| 67 | # Rules for compiling
|
|---|
| 68 | #
|
|---|
| 69 | ###################################
|
|---|
| 70 |
|
|---|
| 71 |
|
|---|
| 72 | $(OBJDIR)/%.o: $(CDIR)/%.c $(INCDIR)/parser.h
|
|---|
| 73 | $(CC) -I $(INC) $(CFLAGS) -o$@ $<
|
|---|
| 74 |
|
|---|
| 75 | $(OBJDIR)/%.o: $(PARSERDIR)/%.c $(INCDIR)/parser.h
|
|---|
| 76 | $(CC) -I $(INC) $(CFLAGS) -o$@ $<
|
|---|
| 77 |
|
|---|
| 78 | $(OBJDIR)/%.o: $(HEMITTERDIR)/%.c $(INCDIR)/parser.h
|
|---|
| 79 | $(CC) -I $(INC) $(CFLAGS) -o$@ $<
|
|---|
| 80 |
|
|---|
| 81 | $(OBJDIR)/%.o: $(IHEMITTERDIR)/%.c $(INCDIR)/parser.h
|
|---|
| 82 | $(CC) -I $(INC) $(CFLAGS) -o$@ $<
|
|---|
| 83 |
|
|---|
| 84 | $(OBJDIR)/%.o: $(CEMITTERDIR)/%.c $(INCDIR)/parser.h
|
|---|
| 85 | $(CC) -I $(INC) $(CFLAGS) -o$@ $<
|
|---|
| 86 |
|
|---|
| 87 | # Create the directories for temp files
|
|---|
| 88 | $(OBJDIR)/o.dep:
|
|---|
| 89 | mkdir -p $(OBJDIR)
|
|---|
| 90 | echo > $(OBJDIR)/o.dep
|
|---|
| 91 | mkdir -p $(BINDIR)
|
|---|
| 92 | mkdir -p $(DOCDIR)
|
|---|
| 93 |
|
|---|
| 94 | dox:
|
|---|
| 95 | cd ./dox && doxygen desktop.dox
|
|---|
| 96 |
|
|---|
| 97 | clean:
|
|---|
| 98 | -cd $(OBJDIR) && rm -f *.o
|
|---|
| 99 | -cd $(BINDIR) && rm -f *.dll
|
|---|