2 ## $VER: LVDemo_Makefile 2.2 (14.9.97)
4 ## Copyright (C) 1996,97 by Bernardo Innocenti
8 ###########################################################
9 # Name of the main executable
10 ###########################################################
15 ###########################################################
16 # Package configuration
17 ###########################################################
20 # set to OS30_ONLY to leave out support for old V37
21 # set to ANY_OS to make an executable for V37 with V39 support
26 # Cpu to compile for (eg: "68020").
31 ###########################################################
32 # Object files in this project
33 ###########################################################
35 OBJS = startup_sc.o LVDemo.o ListViewHooks.o \
36 ListViewClass.o ListBoxClass.o ScrollButtonClass.o
39 ###########################################################
41 ###########################################################
46 ###########################################################
47 # Remove all targets and intermediate files
48 ###########################################################
51 -Delete $(PROJ) $(OBJS) $(PROJ).gst
54 ###########################################################
55 # Compiler, linker and assembler flags
56 ###########################################################
58 # Note: Using the "STRINGSCONST" compiler option requires
59 # patched versions of the OS headers to work correctly
62 # Compiler flags for both release and debug versions
64 COMMON_CFLAGS = PARAMETERS=REGISTERS STRINGMERGE NOSTACKCHECK NOCHECKABORT \
65 NOICONS NOVERSION ERRORREXX NOLINK DATA=NEAR CODE=NEAR \
66 STRSECT=CODE STRINGSCONST GST $(PROJ).gst DEF=$(OSVER) CPU=$(CPU)
68 # Compiler optimization flags
70 OPT_CFLAGS = OPTIMIZE OPTTIME OPTSCHEDULER OPTINLINELOCAL \
71 OPTRDEPTH=4 OPTDEPTH=4 OPTCOMP=8
73 # Debug flags: don't optimize and include all symbols in debug hunks
75 DEBUG_CFLAGS = NOOPTIMIZE DEBUG=FULLFLUSH ONERROR=CONTINUE DEF DEBUG CODE=FAR
77 # Use the utility.library for 32bit multiplication and division.
79 UTILLIB_LFLAGS = DEFINE __CXM33=__UCXM33 DEFINE __CXD33=__UCXD33 \
80 DEFINE __CXM22=__UCXM22 DEFINE __CXD22=__UCXD22
83 # RELEASE version should be compiled with these flags
85 #CFLAGS = $(COMMON_CFLAGS) $(OPT_CFLAGS)
86 #LFLAGS = NODEBUG SMALLCODE SMALLDATA NOALVS NOICONS $(UTILLIB_LFLAGS)
87 #LIBS = LIB LIB:sc.lib
90 # DEBUG version should be compiled with these flags
92 CFLAGS = $(COMMON_CFLAGS) $(DEBUG_CFLAGS)
93 LFLAGS = ADDSYM SMALLCODE SMALLDATA BATCH NOALVS NOICONS $(UTILLIB_LFLAGS)
94 LIBS = LIB LIB:debug.lib LIB:sc.lib LIB:small.lib
97 ###########################################################
98 # Make Global Symbol Table to speed up compiling
99 ###########################################################
101 # We must define some symbols here because defining them
102 # inside GST.c won't work as expected.
104 # NOTE: The GST file does not depend on ListViewClass.h because
105 # otherwise all objects would be remade whenever I slightly edit
110 $(CC) FROM GST.c MAKEGST $(PROJ).gst NOOBJNAME $(CFLAGS) \
111 DEF=INTUI_V36_NAMES_ONLY DEF=__USE_SYSBASE \
112 DEF=CLIB_ALIB_PROTOS_H DEF=LV_GADTOOLS_STUFF
114 ###########################################################
115 # Make the executable
116 ###########################################################
118 # NOTE: Using implicit make rule to compile C files:
120 # $(CC) $(CFLAGS) $(*).c
122 # NOTE: Using implicit make rule to assemble startup_sc.s
125 $(PROJ): $(PROJ).gst $(OBJS)
126 $(LD) FROM $(OBJS) TO $(PROJ) $(LIBS) $(LFLAGS)
129 ###########################################################
131 ###########################################################
133 ListViewClass.o: ListViewClass.c
134 ListBoxClass.o: ListBoxClass.c
135 ScrollButtonClass.o: ScrollButtonClass.c