12-29-2007
how to enable #ifdef macro in the command line of make?
[Keyword] Linux, C++, make, macro
In source code, we used some #ifdef macros. How can I enable #ifdef macro in the command line of "make" (NOTE: I do NOT want to change source code or makefile to define that macro from time to time).
e.g. test.cpp:
...
#ifdef TEST1
// code segment for test1
...
#endif
...
#ifdef TEST2
// code segment for test2
...
#endif
....
Question: How can I enable either macro via command line of make?
e.g. make ????? -> enable TEST1
make ????? -> enable TEST2
Thanks in advance!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello the great gurus :)
I'm quite new to this, so perhaps I'm asking a simple and trivial question (which is good, because you'll answer for sure :))))
Anyway. I have an amount of *.c files (about 100), and what I want to do, is to surround a specific function call with #ifdef and #endif.
... (6 Replies)
Discussion started by: xxxaxa
6 Replies
2. Programming
I think there is no problem to use any macro in a new macro definishion, but I have a problem with that.
I can not understand why?
I have a *.mak file that inludes file with many definitions and rules.
##############################################
include dstndflt.mak
...
One of the... (2 Replies)
Discussion started by: alex_5161
2 Replies
3. Homework & Coursework Questions
I have no idea what the following means. The teacher is too advanced for me to understand fully. We literally went from running a few commands over the last few months to starting shell scripting. I am not a programmer, I am more hardware oriented. I wish I knew what this question was asking... (3 Replies)
Discussion started by: Wookard
3 Replies
4. Shell Programming and Scripting
I have a file with stats for different month, I use the cat and grep combination to search for different month.
cat <file> | grep "April"
cat <file> | grep "May"
cat <file> | grep "June"
etc.
How do you make this command interactive. So that I can give the values for the search. Thanks... (7 Replies)
Discussion started by: purelltab
7 Replies
5. Shell Programming and Scripting
Task A: Make a one-line Unix command - using pipe(s) - to display the number of files in your home directory including the hidden files that begin with '.'
Task B:Make a one-line Unix command - using pipe(s) - to display the number of unique zip codes in famous.dat (hint: use -u on sort)
Task... (1 Reply)
Discussion started by: wises
1 Replies
6. Shell Programming and Scripting
Hi Guys,
I have a a bash script and i am exporting a variable in it.
I am calling a csh script from this bash script.
The variable "ABC" will be visible in csh script.
ks.bash
export ABC = abc
./kp.csh
ab.csh
echo $ABC
setenv ABC =cde (i want to assign this value to ABC only if... (4 Replies)
Discussion started by: vdhingra123
4 Replies
7. UNIX for Dummies Questions & Answers
Why can I not use the enable command?
*sofiazoe* (2 Replies)
Discussion started by: anglenasalt
2 Replies
8. Programming
DELETED (2 Replies)
Discussion started by: ProgMan2015
2 Replies
9. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
1) The script is executed in the Korn shell.
2) Name the shell script file is asg6s.
3) The asg6s file is... (7 Replies)
Discussion started by: ProgMan2015
7 Replies
10. UNIX for Advanced & Expert Users
Heyas
I'm currently trying to make 'make uninstall' work properly, as it doesnt remove empty directories.
To do so, i've applied:
uninstall-hook:
if test -d $docdir; then rmdir $docdir; fi
As stated (example) in automake - 'make uninstall': Howto remove empty directories - Stack... (2 Replies)
Discussion started by: sea
2 Replies
TYPES(5) BSD File Formats Manual TYPES(5)
NAME
types -- system data types
SYNOPSIS
#include <sys/types.h>
DESCRIPTION
The file sys/types.h contains the defined data types used in the kernel (most are used through out the system).
#ifndef _TYPES_H_
#define _TYPES_H_
typedef short dev_t;
#ifndef _POSIX_SOURCE
/* major part of a device */
#define major(x) ((int)(((unsigned)(x)>>8)&0377))
/* minor part of a device */
#define minor(x) ((int)((x)&0377))
/* make a device number */
#define makedev(x,y) ((dev_t)(((x)<<8) | (y)))
#endif
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned short ushort; /* Sys V compatibility */
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE)
#include <machine/types.h>
#endif
#ifdef _CLOCK_T_
typedef _CLOCK_T_ clock_t;
#undef _CLOCK_T_
#endif
#ifdef _SIZE_T_
typedef _SIZE_T_ size_t;
#undef _SIZE_T_
#endif
#ifdef _TIME_T_
typedef _TIME_T_ time_t;
#undef _TIME_T_
#endif
typedef u_int64_t u_quad_t;
typedef int64_t quad_t
typedef quad_t * qaddr_t; /* should be typedef quad * qaddr_t; */
typedef long daddr_t;
typedef char * caddr_t;
#ifdef _DARWIN_FEATURE_64_BIT_INODE
typedef u_int64_t ino_t;
#else /* !_DARWIN_FEATURE_64_BIT_INODE */
typedef u_int ino_t;
#endif /* _DARWIN_FEATURE_64_BIT_INODE */
typedef long swblk_t;
typedef long segsz_t;
typedef int64_t off_t;
typedef u_int uid_t;
typedef u_int gid_t;
typedef int pid_t;
typedef u_short nlink_t;
typedef u_short mode_t;
typedef u_long fixpt_t;
#ifndef _POSIX_SOURCE
#define NBBY 8 /* number of bits in a byte */
/*
* Select uses bit masks of file descriptors in longs. These macros
* manipulate such bit fields (the filesystem macros use chars).
* FD_SETSIZE may be defined by the user, but the default here should
* be >= NOFILE (param.h).
*/
#ifndef FD_SETSIZE
#define FD_SETSIZE 1024
#endif
typedef long fd_mask;
#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
#ifndef howmany
#define howmany(x, y) (((x)+((y)-1))/(y))
#endif
typedef struct fd_set {
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
} fd_set;
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
#define FD_COPY(f, t) bcopy(f, t, sizeof(*(f)))
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
#endif /* !_POSIX_SOURCE */
#endif /* !_TYPES_H_ */
SEE ALSO
adb(1), lseek(2), time(3), fs(5)
HISTORY
A types file appeared in Version 7 AT&T UNIX.
Darwin May 15, 2008 Darwin